我有一個問題,我似乎無法得到這個簡單的刪除命令工作。每次我運行它它只是鎖定數據庫和崩潰SQLite數據庫鎖定刪除命令
ID參數存在於數據庫 數據庫很小。只有幾張桌子。 更新命令工作得很好。
id是在一個和產生的命令是 - 在運行後DELETE from Employees where ID = 2;
public static void EmployeeDeleteByID(int idIn){
Connection c = null;
Statement stmt = null;
try {
c = Connect();
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
String sql = "DELETE from Employees where ID = " + idIn + ";";
System.out.println(sql);
stmt.executeUpdate(sql);
c.commit();
stmt.close();
c.close();
} catch (Exception e) {
System.err.println("Error 1 : " + e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Operation done successfully");
}
錯誤:java.sql.SQLException: database is locked
所以你說它甚至不打印「打開的數據庫成功」? – Tim 2014-08-27 08:13:13
yes它會正確打開數據庫,然後嘗試刪除命令。這是從控制檯打開的數據庫成功地 從員工刪除ID LIKE「2」; java.sql.SQLException:數據庫已鎖定。同樣的connect()方法也適用於正常工作的Update方法。 – user237462 2014-08-27 08:16:42
似乎沒有工作,但生病再試。阿剛剛意識到了一些數據庫中的ID類型是整數,而不是int這是否有所作爲? ID也是一個獨特的索引。 – user237462 2014-08-27 08:19:28