Insérer de Multiples Données de Ligne de Jtable dans la base de données

Je suis en train d'enregistrer Plusieurs données de ligne de JTable dans la Base de données, Voici mon code de référence:

try{

int rows=tblCO2.getRowCount();

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);
    try
    {
        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);

        pst.setString(1, coitemname);
        pst.setString(2, cocateg);
        pst.setString(3, codesc);
        pst.setString(4, coloc);
        pst.setString(5, coitemtagno);

        pst.addBatch();
    }
    catch(Exception e)
    {
    }
}
pst.executeBatch();
conn.commit();
}
catch(Exception e){
    JOptionPane.showMessageDialog(this,e.getMessage());
}

Le Problème est, il est seulement l'insertion d'une ligne de données dans la base de données. Quelqu'un peut-il m'aider? 🙁 merci!

Ne pas recréer le lien (ou la PrepearedStatement je pense) sur chaque boucle. Au lieu de cela, créez une fois et tout simplement de garder appel PreaparedStatement#setXxx et PrepearedStatement#addBatch dans la boucle, et enfin, l'appel executeBatch
try-with-resources a été fait (sans doute pas vraiment) pour JDBC de la gestion des ressources, il est donc facile de gérer les différents niveaux des états et des objets qui doivent fermer lorsque vous avez terminé avec eux
Merci. Je vais modifier mon Code et de mettre à Jour mon post une fois fait.
Je me demande comment il fait sens pour modifier le question pour contenir le réponse ... en d'autres termes: ne pas le faire. Gardez la question telle qu'elle est et d'accepter la réponse correcte.
désolé, et merci pour le commentaire.

OriginalL'auteur francis romero | 2015-09-24