Я пытаюсь выпустить предмет здесь (у меня осталось 2 предмета), но кажется, что каждый раз, когда я выпускаю предмет, выдается все 2 предмета вместо 1 только предмета.
Вот выдача кода товара ниже:
String sql = "insert into issueditem(Item_No,Item ID, Item Name, Issued Date, "
+ "Due Date, Item Number, Stock) values (?,?,?,?,?,?,?)";
try {
connect()
pst = conn.prepareStatement(sql);
pst.setString(1, txtitemno.getText());
pst.setString(2, itemid.getText());
pst.setString(3, itemname.getText());
pst.setString(4, txtidate.getText());
pst.setString(5, txtredate.getText());
pst.setString(6, itemnum.getText());
pst.setString(7, stock.getText());
pst.execute();
JOptionPane.showMessageDialog(null, "Item issued");
update();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
} finally {
try {
rs.close();
pst.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
Вот метод обновления каждый раз, когда я выдаю предмет:
public void update(){
int st = Integer.parseInt(stock.getText());
int q = 1;
int sup = st - q ;
stock.setText(sup+"");
try {
String val1= jbd.getText();
String val2 = jt88.getText();
String val3=jt14.getText();
if (sup>=0 && val2.equals("0")){
String sql = "update storageitem set Available = 'NO', Stock= '"+val2+"'"
+ " where ItemID='"+val1+"' ";
pst = conn.prepareStatement(sql);
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "Record Updated");
}else{
JOptionPane.showMessageDialog(null, "Item is not issued");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}finally{
try {
rs.close();
pst.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
}