如何将表的所有数据放入JTable并将其插入到数据库中 [英] How to bring all data of table in JTable and insert it into Database

查看:191
本文介绍了如何将表的所有数据放入JTable并将其插入到数据库中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我的朋友在这段代码我想带来所有我输入到 JTable 的数据,并将其插入到我的数据库,但它的错误在for循环输入数据数据库,这里是结果:

  private void addBtnActionPerformed(java.awt.event.ActionEvent evt){
String inputEmployee = employeeTf.getText(); // textfields
String inputDepartment = departmentTf.getText ; // textfields

if(inputEmployee.isEmpty()&&& inputDepartment.isEmpty()){
JOptionPane.showMessageDialog(null,Please fill up!
} //如果为空
else if(inputEmployee.isEmpty()){
JOptionPane.showMessageDialog(null,Employee Name不应为空); //如果为空
}
else if(inputDepartment.isEmpty()){
JOptionPane.showMessageDialog(null,Department不应该留空); //如果空白
}
else {
String myQuery =INSERT INTO SAMPLE(EMPLOYEENAME,DEPARTMENT)VALUES(?,?);

try(Connection myCon = DBUtilities.getConnection(DBType.JDBC); //建立连接
PreparedStatement myPs = myCon.prepareStatement(myQuery);
){

myPs.setString(1,employeeTf.getText());
myPs.setString(2,departmentTf.getText());

myPs.executeUpdate(); //在此PreparedStatement对象中执行SQL语句,该对象必须是SQL数据操作语言(DML)语句,例如INSERT,UPDATE或DELETE;

System.out.print(Record is inserted);

DefaultTableModel model =(DefaultTableModel)Table_Employee.getModel();
model.addRow(new Object [] {employeeTf.getText(),departmentTf.getText()});
} catch(SQLException ex){
DBUtilities.processException(ex);
}
} // else of
}

a href =https://i.stack.imgur.com/VB34P.png =nofollow noreferrer>



创建表模型的语法:

  DefaultTableModel model =(DefaultTableModel)Table_Employee.getModel(); 
// yourTableModelName // yourTableName
model.addRow(new Object [] {employeeTf.getText(),departmentTf.getText()});
// yourTextfield // yourTextfield

希望这有帮助。 rs2xml.jar的链接
http ://en.osdn.jp/projects/sfnet_finalangelsanddemons/downloads/rs2xml.jar/


Hello my friends in this code I want to bring all my data that is entered into JTable and insert it into my Database but its wrong in for loop of enter data to database and here is the result: http://i67.tinypic.com/5mwgt4.png

final void tabledata(){

int rows=jt.getRowCount();
int colms=jt.getColumnCount();
int bpss=0,spss=0;

for(int i=0;i<colms;i++){
for(int j=0;j<rows;j++) {
if(i==0){
    String qtys= jt.getValueAt(j,i).toString();
    int qtyss=Integer.parseInt(qtys);
    System.out.print(qtyss);
    try{stmt.execute("INSERT INTO ITEMS(QTY) VALUES("+qtyss+")");}
    catch (SQLException ex) {ex.printStackTrace();}
}else{ 
if(i==1){

    String codes= jt.getValueAt(j,i).toString();
    int codess=Integer.parseInt(codes);
    System.out.print(codess);
    try{stmt.execute("INSERT INTO ITEMS(CODE) VALUES("+codess+")");}
    catch (SQLException ex) {ex.printStackTrace();}
    } else{ 
if(i==2){

    String names=jt.getValueAt(j,i).toString();
    System.out.print(names);
    try{stmt.execute("INSERT INTO ITEMS(NAME) VALUES('"+names+"')");}
    catch (SQLException ex) {ex.printStackTrace();}
    } else{ 
if(i==3){

   String bps= jt.getValueAt(j,i).toString();
   bpss=Integer.parseInt(bps);
   System.out.print(bpss);
   try{stmt.execute("INSERT INTO ITEMS(BUYPRICE) VALUES("+bpss+")");}
    catch (SQLException ex) {ex.printStackTrace();}
    } else{ 
if(i==4){

   String sps= jt.getValueAt(j,i).toString();
   spss=Integer.parseInt(sps);
   System.out.print(spss);
   try{stmt.execute("INSERT INTO ITEMS(SELLPRICE) VALUES("+spss+")");}
    catch (SQLException ex) {ex.printStackTrace();}
    }}}}}}}

}

解决方案

First thing to do is to download the rs2xml.jar after installing this jar add it to your library. So you can populate your ResultSet to a TableModel. I made a sample gui using DB Derby where I can insert and populate it to table model. I used a Prepared Statement here.

private void addBtnActionPerformed(java.awt.event.ActionEvent evt) {                                       
   String inputEmployee = employeeTf.getText();//textfields
   String inputDepartment = departmentTf.getText();//textfields

   if(inputEmployee.isEmpty() && inputDepartment.isEmpty()){
         JOptionPane.showMessageDialog(null, "Please fill up!");
    }//If blank
    else if(inputEmployee.isEmpty()){
        JOptionPane.showMessageDialog(null, "Employee Name should not be left blank");//If blank
    }
    else if(inputDepartment.isEmpty()){
        JOptionPane.showMessageDialog(null, "Department should not be left blank");//If blank
    }
    else{
        String myQuery = "INSERT INTO SAMPLE (EMPLOYEENAME,DEPARTMENT) VALUES (?,?)";

        try(Connection myCon = DBUtilities.getConnection(DBType.JDBC);//Establish the connection
        PreparedStatement myPs = myCon.prepareStatement(myQuery);
            ){

            myPs.setString(1, employeeTf.getText());
            myPs.setString(2, departmentTf.getText());

            myPs.executeUpdate(); // Executes the SQL statement in this PreparedStatement object, which must be an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE;

            System.out.print("Record is inserted");

            DefaultTableModel model = (DefaultTableModel) Table_Employee.getModel();
            model.addRow(new Object[]{employeeTf.getText(),departmentTf.getText()});
        } catch (SQLException ex) {
            DBUtilities.processException(ex);
       }
    }//end of else
}

Syntax creating a table model:

DefaultTableModel model = (DefaultTableModel) Table_Employee.getModel();
            //yourTableModelName            //yourTableName
model.addRow(new Object[]{employeeTf.getText(),departmentTf.getText()});
                           //yourTextfield     //yourTextfield

Hope this helps. Link for rs2xml.jar http://en.osdn.jp/projects/sfnet_finalangelsanddemons/downloads/rs2xml.jar/

这篇关于如何将表的所有数据放入JTable并将其插入到数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆