1

所以我最近试图将数据从数据库插入到 Jtable 中。该程序运行一个“Quote”Jframe,其中包含名为“tblQuote”的JTable。一个报价屏幕有一个名为“添加产品”的按钮,它打开一个框架,允许用户从数据库中选择一个产品。我在类引用中添加了一个方法来更新从添加产品类接收值作为参数的表。添加产品类从连接到数据库并处理所有查询的工​​作类接收值。

请不要说所有值都已成功从数据库中导入,并且更新表的方法已被证明由我用来测试它是否运行以及值是否正确的 System.out.println 运行

但仍然不会显示在表格中。

数据库连接代码:

    public String updateTableQ(String name) {
    String results = "";
    try {
        String qry = "SELECT * FROM tblProducts WHERE Name =?";
        PreparedStatement pst = conn.prepareStatement(qry);
        pst.setString(1, name);
        ResultSet rs = pst.executeQuery();
        while (rs.next()) {
            results += rs.getString("Excl Price") + "/"
                    + rs.getString("Incl Price") + "/";
        }

    } catch (Exception e) {
        e.printStackTrace();
        System.out.println(e.getMessage());
    }
    return results;
}

}

更新表代码:

    public void updateTable(String name, double ex, int qty, double vat, double disc, double total) {
    Object[] row = {name, ex, qty, vat, disc, total};
    DefaultTableModel model = (DefaultTableModel) tblQuote.getModel();
    model.addRow(row);
    System.out.println(name + " " + ex + " " + qty + " " + vat + " " + disc + " " + total);
}

}

在 add 类中调用方法:

    String name = cmbProduct.getSelectedItem().toString();
    String str =db.updateTableQ(name);
    String[] arr = str.split("/");
    double excl = Double.parseDouble(arr[0]);
    double total = Double.parseDouble(arr[1]);
    double vat = 15;
    double disc = Double.parseDouble(txtInDiscount.getText());
    int qty = Integer.parseInt(txtInQty.getText());
    q.updateTable(name, excl, qty, vat, disc, total);
    this.dispose();
4

0 回答 0