Для начала я впервые использую JDB C. У меня есть метод с именем insertQuery и другой метод с именем updateQuery, оба получают строку для обновления или вставки нового mov ie в базу данных с именем Movies. Таким образом, основываясь на некоторых значениях, которые пользователь введет через базовый пользовательский интерфейс c, мой код выполнит один или другой запрос. Проблема в том, что я получаю синтаксическую ошибку на обновлении и ошибку 23000 на вставке, и я не знаю, почему
try {
ResultSet rs = conn.selectQuery("SELECT title FROM movie WHERE title LIKE '" + title + "';");
if (rs != null) {
if (rs.next()) {
System.out.println("Updating db...");
conn.updateQuery("UPDATE movie SET title ='" + title
+ "', id_director = " + idDirector
+ ", year = " + year
+ ", duration = " + duration
+ ", country = '" + country
+ "', movie_facebook_likes = " + facebookLikes
+ ", imdb_score = "+ imdbScore
+ ", gross = " + gross
+ ", budget = " + budget
+ " WHERE title LIKE '" + title + "';");
} else {
System.out.println("Inserting into db...");
conn.insertQuery("INSERT INTO movie (title, id_director, year, duration,
country, movie_facebook_likes, imdb_score, gross, budget) " +
"VALUES ('" + title + "', " + idDirector + "," + year + ", "
+ duration + ", " + country + ", " + facebookLikes + ", "
+ ", " + imdbScore + ", " + gross + ", " + budget + ");");
}
}
} catch (SQLException e1) {
JOptionPane.showMessageDialog(mainView, "MySQL error", "ERROR", .ERROR_MESSAGE);
}