【发布时间】:2011-01-28 04:11:42
【问题描述】:
我使用 Java 中的 JDBC 创建了与 SQLite 的数据库连接。我的 SQL 语句执行正确,但有时我在使用 conn.commit() 时收到以下错误:
java.sql.SQLException: SQL logic error or missing database
任何人都可以帮助我如何避免此类问题。有没有更好的调用 JDBC 程序的方法?
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:/home/Data/database.db3");
conn.setAutoCommit(false);
String query = "Update Chits set BlockedForChit = 0 where ServerChitID = '" + serverChitId + "' AND ChitGatewayID = '" + chitGatewayId + "'";
Statement stmt = conn.createStatement();
try {
stmt.execute(query);
conn.commit();
stmt.close();
stmt = null;
}
【问题讨论】:
-
如果stmt为null,你怎么调用.execute呢?
-
你是怎么解决这个问题的?在调用 commit().... 时遇到同样的错误 :(
-
确保将 conn 添加到每个使用它的类/方法中,这为我解决了问题。