java - 从代码创建 JAVA 数据库。语句不会执行和创建表?

标签 java sql database database-connection derby

我不确定为什么我的程序没有创建表格,但我还需要一些关于如何在表格创建后用这样的代码填充表格的想法?我还需要向该数据库中添加另外两个表。

这是我遇到的错误:

java.sql.SQLSyntaxErrorException: Table/View 'PIZZASIZE' does not exist.
Caused by: ERROR 42X05: Table/View 'PIZZASIZE' does not exist.
Caused by: java.lang.RuntimeException: Exception in Application start method
Caused by: javafx.fxml.LoadException: file:/C:/Users/Allie/Documents/NetBeansProjects/Pizzeria_AllieBeckman/dist/run1674141987/Pizzeria_AllieBeckman.jar!/pizzeria_alliebeckman/FXMLDocument.fxml

这是应该创建表的代码:

        // connect to the derby URL using the given username and password
        connect = DriverManager.getConnection("jdbc:derby://localhost:1527/pizzeria;create=true", connectProps);
        // current url for pre created database "jdbc:derby://localhost:1527/pizza"
        // if connection is successful print that it succeeded.
        System.out.println("database created");

        stmt = connect.createStatement();

        String sqlCreate = "CREATE TABLE PIZZASIZE "
            + "(id int NOT NULL, "
            + "size char(20) NOT NULL, "
            + "PRIMARY KEY (id))";

        stmt.execute(sqlCreate); 

最佳答案

根据您使用的 IDE,您可以在控制台中手动创建表,而无需费力地用代码编写它。以下是您如何从表格中获取信息的一些示例。

Connection conn = CreatingDerbyDJB.dbConnection();

            try{
                String query = "INSERT INTO  Items (Name,Color,ItemName,SchoolName, Description) VALUES(?,?,?,?, ?)";
                PreparedStatement pstmt = conn.prepareStatement(query);


                pstmt.execute();
                conn.close();
              }catch(Exception e)
            {
                  e.printStackTrace();
            }       }

Connection 类应该如下所示: 包主;

import java.sql.Connection;
import java.sql.DriverManager;

import javax.swing.JOptionPane;

public class CreatingDerbyDJB 
{
    public static final String DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";
    public static final String JDBC_URL  = "jdbc:derby:LostAndFoundDB";
    public static Connection dbConnection()
    {
        try
        {
            Class.forName(DRIVER).newInstance();
            Connection c = DriverManager.getConnection(JDBC_URL);
            return c;
        }catch(Exception e)
        {
            JOptionPane.showMessageDialog(null, e);
            return null;
        }
    }
}

如果这对您有帮助,请批准这个答案,如果它没有意义,我很乐意解释。 :)

关于java - 从代码创建 JAVA 数据库。语句不会执行和创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40879028/

相关文章:

java - Vaadin DateField 显示 "null"而不是日和月

返回多个记录集的 MySQL 存储过程

sql - 用于 250K+ 字符串的通配符搜索的 Fast(er) 方法

php - Laravel 5.1 中上传文件的安全性

java - IllegalStateException : Not supported on AsyncContext. startAsync(请求,资源)

java - 如何使用真正的 Floating Action Button (FAB) Extended?

asp.net - 如何用数学方法缩短网址

mysql - SQL 查询中的复杂条件

android - Android 的通用图像加载器可以处理来自 sqlite 数据库的图像吗?

java - 如何在每个以冒号结尾的单词之前添加换行符?