【问题标题】:Multiple entries in a JTable from a Database来自数据库的 JTable 中的多个条目
【发布时间】:2015-04-10 15:19:13
【问题描述】:

这是我在这里的第一个问题,我希望我不会重复别人的问题。我将在接下来的几行中尽可能多地解释这个问题。如果它真的很糟糕,请原谅我的英语。

所以我在这里有一个 JTable,我想在其中从数据库中检索值。到目前为止,我可以添加 1 个值,我知道这是为什么。问题是 。如何向此表添加多个值?

这是我在操作中使用的方法,以在特定商店中找到枪支及其数量

    public ResultSet gunSearch(String id, int qty, int storeId) {

    try {

        String s = "SELECT gunID, gunName AS \"Gun Name\", gunPrice AS \"Price\", SellCost AS \"Cost\", availableQty AS \"Amount Available\", "+qty+" AS \"Quantity\"  FROM Guns WHERE gunId = '" + id + "'AND storeId='"+storeId+"'";
        pstmt = conn.prepareStatement(s);
        rset = pstmt.executeQuery(s);


    } catch (Exception ex) {
        System.out.println("Error here at searchByProdId Operation "+ex);
    }
    return rset;
}

对于我的 GUI,我使用以下代码来显示用户输入的信息

public void actionPerformed(ActionEvent e){
    if(e.getSource().equals(enterBtn)){
        String gunID = gunIdText.getText();
        int qty = Integer.parseInt(quantityText.getText());
        table.setModel(DbUtils.resultSetToTableModel(op.gunSearch(gunID, qty, storeId)));

每当我单击 Enter 按钮时,都会从数据库中检索数据列。但是,如果我重新输入另一个 gunId 和 quantity ,前一列就会消失,并且会从数据库中检索到新的数据列。

我怎么可能在 JTable 中输入几个不同的 gunId 和 quantity ?

【问题讨论】:

    标签: java sql swing jtable resultset


    【解决方案1】:

    您的gunSearch 方法只返回一个结果。然后,您从这个结果中完全重新创建 TableModel,擦除旧模型中的所有内容。

    您需要编写一个新方法,该方法可以采用 Collection<String>(枪支 id 的集合)并为提供的每个 id 返回一行。

    或者,您可以创建一种方法,将枪添加到现有的TableModel,而不是每次都从头开始重新创建整个模型。这取决于您希望应用程序如何工作,哪个选项更好。

    【讨论】:

    • 非常感谢您的意见,我现在就试试看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多