我有一个问题,我似乎无法得到这个简单的删除命令工作。每次我运行它它只是锁定数据库和崩溃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