java - SQLite 'Database Locked' 特定查询的奇怪错误

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

请帮我找出错误。

最佳答案

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

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

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

关于java - SQLite 'Database Locked' 特定查询的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746861/

相关文章:

Java 表单未加载

java - 我需要帮助将图像存储在内部目录中,并且其路径已插入SQLite中

xcode - Lion OSX Xcode 4.1中的myProject.sqlite在哪里?

java - 如何使不确定的进度条看起来不错?

java - ElasticSearch 服务无法在 Windows 上启动

java - 假设我有构造函数,如何从类中调用方法?

database - 人们如何创建可重用的数据库?

php - Drupal - 如何获取行的总和

Java忽略数据库中的NullPointerException?

python - Flask-SQLAlchemy - Backref 不起作用,值为 None