Insert Mulitple Row Data from Jtable into database

前端 未结 2 1908
攒了一身酷
攒了一身酷 2021-01-03 08:57

I am trying to save Multiple row data from JTable into Database, Here is my code for reference:

try{

int rows=tblCO2.getRowCount();

for(int row = 0; row<         


        
相关标签:
2条回答
  • 2021-01-03 09:36

    the code above is not able to run in netbeans , However I made a version for netbeans.

    try{
    
      int rows=jTable1.getRowCount();
    
      for(int row = 0; row<rows; row++)
      {   
        Integer qty = (Integer)jTable1.getValueAt(row, 0);
        Double unitprice = (Double) jTable1.getValueAt(row, 1);
        String description = (String)jTable1.getValueAt(row, 2);
        Double total = (Double)jTable1.getValueAt(row, 3);
        String queryco = "Insert into invoice(qty,unitprice,description,total) values ('"+qty+"','"+unitprice+"','"+description+"','"+total+"')";
    
        pst = conn.prepareStatement(queryco);
        pst.execute();     
      }
      JOptionPane.showMessageDialog(null, "Successfully Save");
    }
    catch(Exception e){
      JOptionPane.showMessageDialog(this,e.getMessage());
    }
    
    0 讨论(0)
  • 2021-01-03 09:52

    Remove following line codes from loop and place before loop

    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/iotams",user,pass);
    conn.setAutoCommit(false);
    String queryco = "Insert into tblcheckout(CheckoutID,ItemTagNo,ItemName,Category,Description,Location) values (?,?,?,?,?)";
    pst = conn.prepareStatement(queryco);
    

    Example: Replace your code by following code

    try{
    
    int rows=tblCO2.getRowCount();
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/iotams",user,pass);
    conn.setAutoCommit(false);
    
    String queryco = "Insert into tblcheckout(CheckoutID,ItemTagNo,ItemName,Category,Description,Location) values (?,?,?,?,?)";
    pst = conn.prepareStatement(queryco);
    for(int row = 0; row<rows; row++)
    {
        String coitemname = (String)tblCO2.getValueAt(row, 0);
        String cocateg = (String)tblCO2.getValueAt(row, 1);
        String codesc = (String)tblCO2.getValueAt(row, 2);
        String coloc = (String)tblCO2.getValueAt(row, 3);
        String coitemtagno = (String)tblCO2.getValueAt(row, 4);
        pst.setString(1, coitemname);
        pst.setString(2, cocateg);
        pst.setString(3, codesc);
        pst.setString(4, coloc);
        pst.setString(5, coitemtagno);
    
        pst.addBatch();
    }
    pst.executeBatch();
    conn.commit();
    }
    catch(Exception e){
        JOptionPane.showMessageDialog(this,e.getMessage());
    }
    

    Then run it think it work.

    For Batch insert example is here https://my.vertica.com/docs/5.0/HTML/Master/14878.htm

    0 讨论(0)
提交回复
热议问题