我正在用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);可以完美运行并将行插入数据库。但是当涉及到下面的语句时,我遇到了奇怪的数据库锁定错误。
当我将查询更改为另一个查询时,它也可以正常工作。错误到达结束语句时出现。更准确地说,上面编写的所有查询,即此处的代码的第一条语句都可以正常工作。

请帮助我找到错误。

最佳答案

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

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


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

07-25 21:08