如何在JTable中携带表的所有数据并将其插入到数据库中

时间:2016-03-22 12:14:55

标签: java database swing jtable

我的朋友们,在这段代码中我想把我输入的所有数据都加到In [296]: A Out[296]: array([[ 0.2, 0.3, 0.5], [ 0.5, 0.5, 0. ]]) In [297]: (A.argmax(1)[:,None] == np.arange(A.shape[1])).astype(int) Out[297]: array([[0, 0, 1], [1, 0, 0]]) 中并将其插入我的数据库,但是输入数据到数据库的循环错误,结果如下: broadcasting

JTable

}

2 个答案:

答案 0 :(得分:1)

首先要做的是在安装 jar 后将 rs2xml.jar 下载到您的库中。因此,您可以将ResultSet填充到TableModel。我使用DB Derby制作了一个示例gui,我可以将其插入并填充到表模型中。我在这里使用了预备声明。

enter image description 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
}

Sample

创建表模型的语法:

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/

答案 1 :(得分:0)

INSERT在数据库中添加一条全新的记录。 因此,当您插入QTY时,您只使用数量创建记录,而所有其他字段都是空白的。 然后当你插入代码等时,你做同样的事情。因此,在其他字段中创建新记录时没有任何内容。 我建议你做的是读取每一行,然后创建一个单独的sql语句,其中包含: 插入项目(数量,代码,名称,购买,销售)价值(......,..,..,..);

这将创建填写了所有字段的记录。