0

我正在使用 Java 开发一个项目,我必须在我的 SQLite 数据库中进行修改。我连接到它并且工作得很好,除了这个奇怪的错误。

s.executeUpdate("INSERT INTO STUDENTS VALUES('S0',11)");
...
//many statements... including queries
...
String c2="INSERT INTO STUDENTS VALUES ('S1', 2)";
s.executeUpdate(c2);
s.executeUpdate("DROP TABLE STUDENTS");

语句完美运行s.executeUpdate("INSERT INTO STUDENTS VALUES('S0',11)");并将 s.executeUpdate(c2);行插入数据库。但是当谈到下面的语句时,我得到了奇怪的数据库锁定错误。当我将查询更改为另一个时,它也工作得很好。到达结束语句时出现错误。更准确地说,上面编写的所有查询,即这里代码的第一条语句都工作得很好。

请帮助我找到错误。

4

1 回答 1

2

我猜“s”变量是一个语句。执行后尝试关闭资源:

PreparedStatement updateStatement = connection.prepareStatement("INSERT INTO STUDENTS VALUES ('S1', 2)");
        try {
            updateStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            updateStatement.close();
        }

在每次调用数据库后执行此操作。

于 2012-12-06T16:15:49.527 回答