У меня есть база данных SQLite, подключенная через JDBC к моему проекту Java. Я могу легко прочитать все данные и добавить нового пользователя в свою базу данных, однако, когда я выполняю подготовленный оператор, я получаю SQLexeption. И после того, как я запустил программу в режиме отладки и установил точку останова на строку с подготовленным оператором, она выполняет задачу без проблем.
Я попытался переключить код, и все другие операторы работают, например, INSERT или SELECT. Только ОБНОВЛЕНИЕ (в любой форме) не работает. Я попытался выполнить оператор в командной строке sql, и это сработало, поэтому проблема не возникает.
public void makeReq(int type,String SPZ){
String sql = "UPDATE users "
+ "SET req = ? "
+ "WHERE SPZ = ?";
try {
conn = DriverManager.getConnection("jdbc:sqlite:users.db");
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, type);
pstmt.setString(2, SPZ);
int rowAffected = pstmt.executeUpdate();
} catch (SQLException e) {
System.out.println("FATAL ERROR: couldn't connect to the USERS database");
}
}
Я ожидаю, что он выполнит и обновит выбранную таблицу (пользователи).
Спасибо за вашу помощь.