我正在用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();
}
在每次调用数据库后执行此操作。