Когда я обновляю, я получаюданных (данные слишком долго для столбца ITEM_CODE)
ошибка усечения данных (данные слишком долго для столбца item_codeat строки #)
Я использую varchar(45)
для itemcode
в БД.
String category="";
String item_code = txt_inventory_item_code.getText();
String item_name = txt_inventory_item_name.getText();
Format formatter = new SimpleDateFormat("yyyy-MM-dd");
String date = formatter.format(txt_inventory_date.getDate());
String expiry_date = formatter.format(txt_inventory_expiry_date.getDate());
int quantity=Integer.parseInt(txt_inventory_quantity.getText());
double unit_price=Double.parseDouble(txt_inventory_unit_price.getText());
try{
st = conn.createStatement();
String SQL = "Update inventory SET "
+ "item_code='"+txt_inventory_item_code+"',"
+ "item_name='"+txt_inventory_item_name+"',"
+ "date='"+formatter.format(txt_inventory_date.getDate())+"',"
+ "expiry_date='"+formatter.format(txt_inventory_expiry_date.getDate())+"',"
+ "quantity='"+txt_inventory_quantity+"',"
+ "unit_price='"+txt_inventory_unit_price+"' WHERE inventory_id Like "+txt_inventory_inventory_id.getText();
st.executeUpdate(SQL);
JOptionPane.showMessageDialog(null,"Updated Successfully");
}
catch (SQLException | HeadlessException e)
{
JOptionPane.showMessageDialog(null,e);
}
Опубликовать http://stackoverflow.com/help/mcve. – c0der
Ну, ошибка в том, что код элемента слишком длинный для varchar (45). Вам также абсолютно необходимо узнать о подготовленных операциях (http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html), поскольку ваш код завершится неудачно, как только одно из текстовых полей будет содержать одну цитату , и он подвержен атакам SQL-инъекций. они также позволяют хранить даты как даты, а не форматировать их с конкретными для конкретной страны форматами. И, наконец, они делают код более читабельным и менее подверженным ошибкам. –