SQLite'数据库锁定'特定查询的奇怪错误

时间:2012-12-06 15:25:12

标签: java database sqlite jdbc database-locking

我正在开发一个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);运行完美,并将行插入数据库。但是当谈到下面的陈述时,我得到了奇怪的数据库锁定错误。 当我将查询更改为另一个时,它也工作得很好。到达结束语句时出现错误。更确切地说,上面写的所有查询,即这里代码的第一个语句都可以正常工作。

请帮我找到错误。

1 个答案:

答案 0 :(得分:2)

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

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

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