Jtable值重复最后一个值

时间:2013-12-07 09:40:58

标签: java swing jtable

我正在为我的大学任务开发java桌面应用程序。我在将值加载到Jtable时遇到了问题。我使用以下代码来加载值。它会重复输入。你能帮我摆脱这个问题吗?

 private void LoadSupplierTable() {
    clearTable((javax.swing.table.DefaultTableModel) tblSupp.getModel());
    javax.swing.table.DefaultTableModel dtSupp = (javax.swing.table.DefaultTableModel) tblSupp.getModel();
    Vector ver = new Vector();
    try {
        ResultSet resO = null;
        String sqo = "select id,name from supplier";
        Connection coo = DataBaseConnection.getDbConnection();
        PreparedStatement pso = coo.prepareStatement(sqo);
        resO = pso.executeQuery();
        while (resO.next()) {

            ver.add(resO.getInt("id"));
            ver.add(resO.getString("name"));
            dtSupp.addRow(ver);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:1)

你应该在while循环中声明向量...只需复制粘贴以下代码

 private void LoadSupplierTable() {
    clearTable((javax.swing.table.DefaultTableModel) tblSupp.getModel());
    javax.swing.table.DefaultTableModel dtSupp = (javax.swing.table.DefaultTableModel) tblSupp.getModel();

    try {
        ResultSet resO = null;
        String sqo = "select id,name from supplier";
        Connection coo = DataBaseConnection.getDbConnection();
        PreparedStatement pso = coo.prepareStatement(sqo);
        resO = pso.executeQuery();
        while (resO.next()) {
            Vector ver = new Vector();
            ver.add(resO.getInt("id"));
            ver.add(resO.getString("name"));
            dtSupp.addRow(ver);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}