Я получаю ошибку java.lang.IndexOutOfBoundsException Index: 0, Size: 0
при попытке сохранить после вставки значений из текстовых полей в таблицу с именем table_po
. любезно помочьjava.lang.IndexOutOfBoundsException Index: 0, Size: 0
private void saveActionPerformed(java.awt.event.ActionEvent evt)
{
try{
if(cbo_payment.getSelectedItem().equals("Payment Mode")){
JOptionPane.showMessageDialog(null, "Select a valid payment mode before saving");
return;
}
if(table_po.getModel().getValueAt(0, 0)==null){
JOptionPane.showMessageDialog(null, "Select products before saving");
return;
}
for(int i=0;i<saleListCounter;i++){
String sql="insert into OT_PURCHASE_ORDER (part_no,ITEM_DESCRIPTION,QUANTITY,AMOUNT,PAYMENT_MODE,SUPPLIER_ID,PO_DATE,EXP_DATE) values(?,?,?,?,?,?,?,?,?)";
pst=conn.prepareStatement(sql);
pst.setString(1, table_po.getModel().getValueAt(i, 0).toString());
pst.setString(2, table_po.getModel().getValueAt(i, 1).toString());
pst.setString(3, table_po.getModel().getValueAt(i, 2).toString());
pst.setString(4, table_po.getModel().getValueAt(i, 3).toString());
pst.setString(5, (String)cbo_payment.getSelectedItem());
int index=((int)list.get(cbo_supplier.getSelectedIndex()));
pst.setInt(6, index);
//pst.setString(7, lblCash.getText());
pst.setString(7, ((JTextField)txt_Expdate.getDateEditor().getUiComponent()).getText());
pst.setString(8, ((JTextField)txt_date.getDateEditor().getUiComponent()).getText());
pst.execute();
pst.close();
sql="select max (po_id) as POIDfrom fm_credit_sale";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
if(rs.next()){
transactionCounter.add(rs.getInt("POID"));
}
transactioncounter++;
}
for(int i=0;i<saleListCounter;i++){
table_po.getModel().setValueAt(null, i, 0);
table_po.getModel().setValueAt(null, i, 1);
table_po.getModel().setValueAt(null, i, 2);
table_po.getModel().setValueAt(null, i, 3);
table_po.getModel().setValueAt(null, i, 4);
}
total=saleListCounter=0;
lblCash.setText(null);
JOptionPane.showMessageDialog(null, "SAVED SUCCESSFULLY");
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
Это означает, что вы пытаетесь получить доступ к чему-либо по индексу '0', которого нет (эта коллекция пуста). Сначала вставьте что-то, прежде чем пытаться получить к нему доступ. – Tom