如何向JTable添加多行?

时间:2019-05-06 12:43:14

标签: java jtable

我正在尝试从数据库填充JTable,但是输出仍然为空。这是我的代码:

    private void buttonsearchActionPerformed(java.awt.event.ActionEvent evt)
    {
        conn = DatabaseConnection.dbConnection();
        try {
            String Sql="select idp,nomp,prix,stock from produit where codep='" 
                       + textsearch.getText() + "'";
            pst = conn.prepareStatement(Sql);

            ResultSet rs = pst.executeQuery();
            DefaultTableModel model = new DefaultTableModel();
            Object[] columns = {"Id Produit", "Nom Produit", "Quantité", "Prix", "Stock"};
            model.setColumnIdentifiers(columns);
            table.setModel(model);
            Object[] row = new Object[5];

            if (rs.next())
            {
                row[0] = rs.getInt("idp");
                row[1] = rs.getString("nomp");
                //row[2] = rs.getString("");
                row[3] = rs.getString("prix");
                row[4] = rs.getString("stock");
                model.addRow(row);
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }                        

表“ poduit”是:

| idp | codep | nomp | prix | stock |

“Quantité”中

Object[] columns = {"Id Produit", "Nom Produit", "Quantité", "Prix", "Stock"}; 

这意味着修改项目数以创建帐单。

我的问题是第二行粘贴在第一行 感谢您的帮助

1 个答案:

答案 0 :(得分:0)

根据How to add row in JTable?和Internet本身,所有示例都使用以下行:

DefaultTableModel deFaultTableModel = (DefaultTableModel) myJTable.getModel();

所以您必须用DefaultTableModel model = new DefaultTableModel();替换代码行'DefaultTableModel model = (DefaultTableModel) table.getModel();'。