如何将新的数据行添加到我的 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')
使用 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')