如何将新的数据行添加到我的 Derby 数据库中?

How do I add a new row of data into my Derby database?

使用 Netbeans,我设置了我的数据库和 table,并手动添加了我的数据,我可以在其中看到我正在构建的应用程序,正如预期的那样。

我希望用户添加自己的数据,其中将附加到 table 上的新行。但是,我在尝试编写代码来执行此操作时遇到了问题。

        Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
        Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/stockApplication");
        Statement stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

        String insertDerbyData = "INSERT INTO TIGER_INFO" 
                    + "(TIGER_ID, TIGER_LOCATION)"
                    + "VALUES (123456, Store)";
        stat.executeUpdate(insertDerbyData);

我无法执行上面的代码,因为我收到一条错误消息,指出 'STORE' 不在任何 table 中。 'STORE' 是我的 'TIGER_LOCATION' 列的值。这是怎么回事?

理论上,我有两列,我想将“123456”和 'Store' 这两个值添加到它们各自的列中。我该如何正确地这样做?

字符串应该在 '...' 之间,您必须使用 :

VALUES (123456, 'Store')
//--------------^-----^

如果 TIGER_LOCATION 是一个 string/varchar 列,而 Store 是一个字符串文字,那么该值必须用单引号括起来,就像大多数 SQL-基于数据库:

INSERT INTO TIGER_INFO (TIGER_ID, TIGER_LOCATION) VALUES (123456, 'Store')