H2嵌入式模式 - DELETE命令给出COLUMN NOT FOUND错误

时间:2013-11-07 22:13:37

标签: java sql h2

我是H2 DB的新手,从我在几个示例和官方文档中看到的,我设法启动连接并将值插入到DB中。 现在,DELETE命令每次都给我一个COLUMN NOT FOUND错误[42122]并且不删除该条目。 仅当使用条件DELETE语句时才会发生此错误,而不是在删除表中的所有条目时发生此错误。

该表创建如下

CREATE TABLE SCHEDULE(NAME VARCHAR(40), NUMBER INT);

我的Java代码如下

try {

    Class.forName("org.h2.Driver");
    Connection conn = DriverManager.getConnection("jdbc:h2:~/test", "sa", "");
    System.out.println("CONNECTED");
    Statement stat = conn.createStatement();
    if (remember_entry.isSelected()) {
        String add_entry = "INSERT INTO SCHEDULE VALUES ('" + name + "'," + number + ")";
        System.out.println(add_entry);
        stat.execute(add_entry);
        System.out.println("ENTRY ADDED");
    } else if (!remember_entry.isSelected()) {
        String remove_entry = "DELETE FROM SCHEDULE WHERE NAME = '" + name + "' AND number = " + number;
        System.out.println(remove_entry);
        stat.execute(remove_entry);
        System.out.println("ENTRY REMOVED");
    }
    conn.close();
} catch (Exception e) {
    System.out.println(e);
}

1 个答案:

答案 0 :(得分:0)

终于弄明白了。

以下是Java中更新的代码行。

String remove_show = "DELETE FROM SCHEDULE WHERE NAME = '" + name + "' AND NUMBER = " + number;

不知何故,这才有效。我不知道我做错了什么,但它已经修好了。 :)