#java #mysql #javafx
#java #mysql #javafx
Вопрос:
Я получаю эту ошибку при попытке удалить из моего графического интерфейса javafx, который я создал. И я не знаю, как это решить. Ошибка: com.mysql.cj.jdbc.исключения.MysqlDataTruncation: усечение данных: усеченное неверное ДВОЙНОЕ значение: ‘IntegerProperty [значение: 7]’
Часть моего кода:
setAllClear();
SalesTable getSelectedRow = salesTableView.getSelectionModel().getSelectedItem();
String sqlQueryDelete = "delete from sales where id = '" getSelectedRow.getSalesTableId() "';";
try {
connection = database.getConnection();
statement = connection.createStatement();
statement.executeUpdate(sqlQueryDelete);
Комментарии:
1. Ваш класс модели реализован неправильно.
getSalesTableId()
Метод должен возвращать anint
, а не anIntegerProperty
. У вас должен бытьsalesTableIdProperty()
метод, возвращающийIntegerProperty
. Кроме того, похоже, что это должен быть числовой столбец в базе данных, поэтому значение не должно заключаться в кавычки. И, наконец, никогда не создавайте операторы SQL с подобной конкатенацией строк;PreparedStatement
вместо этого используйте a .2. Спасибо. Это работает