简体   繁体   中英

How to add multiple rows from JTable to MySQL Database

I have been trying to add multiple rows from JTable to my MySQL Database, but only the first row is registered and not the rest. Here's my code. Do help. Thanks!

This is a bit urgent, so it would be better if someone can respond asap. Thanks again!

 DefaultTableModel tblmodel= (DefaultTableModel) jTable1.getModel();
  
 
  if (tblmodel.getRowCount()==0)
  {
      JOptionPane.showMessageDialog(this, "Table is Empty");
      }
  else {
            
      try
      {
          Class.forName("com.mysql.jdbc.Driver");

          Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/project","root","123456");
          
      
      for (int i=0; i<tblmodel.getRowCount(); i++)
      {
          String pid = (String)jTable1.getValueAt(i, 0);
    String pname = (String)jTable1.getValueAt(i, 1);
    int price = (int)jTable1.getValueAt(i, 2);
    int qty = (int)jTable1.getValueAt(i, 3);
    int tprice = (int)jTable1.getValueAt(i, 4);
    
    String query = "Insert into invoice(product_id, product_name, price,quantity, total_price) values (?,?,?,?,?)";
 PreparedStatement ps;
    ps = con.prepareStatement(query);
   
    
    
     ps.setString(1, pid);
    ps.setString(2, pname);
    ps.setInt(3, price);
    ps.setInt(4, qty);
    ps.setInt(5, tprice);
          ps.execute();
          JOptionPane.showMessageDialog(this , "Data added Successfully");
          tblmodel.setRowCount(0);
          
      }
      } catch (Exception e) {
          
          }

This line of code

tblmodel.setRowCount(0)

is causing it to break out of the loop after the first iteration.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM