Доброго времени суток, уважаемые форумчане.
Пару недель, как начал изучать Java и столкнулся с такой проблемой...
Создал небольшое приложение с использование java9 + javafx + jdbc (sqlite) + scenebuilder + maven (intellij idea).
Нужно чтобы измененная запись из таблицы tableView обновлялась в БД тоже. Добавление и удаление записи работает, а вот изменение почему-то нет. При этом никакой ошибки не отображается
Структура БД id, site, sitName, siteLogin и т.д. (всего 26 столбцов). Первый id primary auto increment
В чем я ошибся или что пропустил?
Коды:
public void sqlupdate(String site, String siteLogin, String sitePass /* bla-bla */) {
String updatesql = "UPDATE data SET site=? , " + " siteLogin = ? ," + " sitePass = ? ," + " ftp = ?," + " ftpLogin = ?," + " ftpPass = ?," + "port = ?," + "person = ?," + "personEmail = ?," + "personPass = ?," + "personPhone = ?," + "dbName = ?," + "dbUser = ?," + "dbPass = ?," + "dbHost = ?," + "hostingUrl = ?," + "hostingLogin = ?," + "hostingPass = ?," + "providerUrl = ?," + "providerLogin = ?," + "providerPass = ?," + "otherUrl = ?," + "otherLogin = ?," + "otherPass = ?," + "notes = ? "
+ "WHERE id = ?";
try {
SQLiteConfig config = new SQLiteConfig();
Connection c = db.getInstance().getConnection();
PreparedStatement pstmt = c.prepareStatement(updatesql);
pstmt.setString(1, site);
pstmt.setString(2, siteLogin);
pstmt.setString(3, sitePass);
/* и т.д.и т.п. Пробовал также использовать геттеры pstmt.setString(1, website.getSite); но как-то безрезультатно*/
// update
pstmt.executeUpdate();
} catch (SQLException ex) {
ex.printStackTrace();
System.out.println("Возникла ошибка при добавлении записи");
}
Затем для этого метода я добавил listener (соответственно метод добавил в тело метода кнопки AddButtonChange)
@Override
public void AddButtonChange(ActionEvent actionEvent) {
sqlupdate("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
}
При нажатии на кнопку "Изменить" информация должна обновляться в БД. Однако, обновляется только в таблице.
Ссылка на проект:
https://yadi.sk/d/VClTsgSI3PpY2j
Скрин -
Заранее спасибо)