У меня проблема, когда я не могу заставить эту команду удалить. Каждый раз, когда я запускаю его, он просто блокирует базу данных и вылетаетSQLite Database блокируется командой Delete
Параметр 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
Да, он правильно открывает базу данных, затем пытается удалить команду. это из консоли Удаленная база успешно УДАЛИТЬ от Сотрудников, где ID LIKE «2»; java.sql.SQLException: база данных заблокирована. Также тот же метод connect() работает над методами Update, которые работают нормально. – user237462
Не работает, но плохо попробую еще раз. Ах, просто что-то понял. Тип идентификатора в базе данных - Integer, а не int - это имеет значение? Идентификатор также является уникальным индексом. – user237462