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