如何将jTable中的多行值连接到mysql的一行中

时间:2018-09-05 17:18:51

标签: java jtable

所以我有一个看起来像这样的jframe:

https://i.stack.imgur.com/eULbN.png

每次我将数据发送到我的数据库时,它都会创建3行,它们看起来完全像这样(请参阅所附图像以供参考)

采购订单|姓名| Item_ID |项目名称|商品价格| Item_Stock |总计

1 |马克| 2 | 9V电池| 90.0 | 1 | 90.0

1 |马克| 3 |绞线| 10.0 | 1 | 10.0

1 |马克| 4 |实心线| 12.0 | 1 | 12.0

我要做的是合并这三行的值,并使用java将其发送到数据库中

1 |马克| 2,3,4 | 9V电池,多股电线,实心电线| 90.0,10.0,12.0 | 1,1,1 | 90.0,10.0,12.0

那有可能吗?这是我第一次问我是否犯错

这是我当前的代码

try {
        Class.forName("com.mysql.cj.jdbc.Driver") ; 
            conn = DriverManager.getConnection("jdbc:mysql://localhost/dbms?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC","root",""); 
            st = conn.createStatement();
            String PurchOrder = JL_POrder.getText();
            String Name = JL_Name.getText();

            TableModel model = jTable3.getModel();
            for(int j=0;j<model.getRowCount();j++)
            {

            String Item_ID=jTable3.getValueAt(j, 0).toString();
            String Item_Name=jTable3.getValueAt(j, 1).toString();
            String Item_price=jTable3.getValueAt(j, 2).toString();
            String Item_Stock=jTable3.getValueAt(j, 3).toString();
            String Total = jTable3.getValueAt(j, 4).toString();


           st.executeUpdate("INSERT INTO `customer_order_details` (`Purchase Order`, `Name`, `Item_ID`, `Item_Name`, `Item_price`, `Item_Stock`, `Total`) VALUES ('"+PurchOrder+"','"+Name+"','"+Item_ID+"','"+Item_Name+"','"+Item_price+"','"+Item_Stock+"','"+Total+"')");


        }
            JOptionPane.showMessageDialog(null, "Successfully Checkout");
    }
    catch (SQLException ex) {
        Logger.getLogger(customer.class.getName()).log(Level.SEVERE, null, ex);
    }

0 个答案:

没有答案