【问题标题】:jTable only displays first record from modeljTable 只显示模型的第一条记录
【发布时间】:2014-06-04 09:25:17
【问题描述】:

我已经从 C# 迁移到 java,所以我是 java 技术的新手。

我正在尝试使用 DefaultTableModel 将数据从 SQLSERVER 填充到 jTable。代码在这里。

public class mainScreen extends javax.swing.JFrame {
public mainScreen() {
    initComponents();

    try {  
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
        "databaseName=Northwind;user=im;password=123;";
    Connection con = DriverManager.getConnection(connectionUrl);

        Statement stmt = null;
        ResultSet rs = null;
        // SQL query command
        String SQL = "SELECT * FROM Products";
        stmt = con.createStatement();
        rs = stmt.executeQuery(SQL);

        ResultSetMetaData mtd=rs.getMetaData();
        int columns=mtd.getColumnCount();
        Vector columnName=new Vector();
        Vector DataRows=new Vector();
        DefaultTableModel dtm=new DefaultTableModel();

        for(int i=1; i<columns; i++)
        {
            columnName.addElement(mtd.getColumnName(i));
        }
        dtm.setColumnIdentifiers(columnName);

        while (rs.next()) {
         for(int j=1; j<columns; j++){
              DataRows.addElement(rs.getString(j));
              //System.out.println(rs.getString(j));
         }
        }
        Enumeration e= DataRows.elements();
        while(e.hasMoreElements())
        {
               System.out.println(e.nextElement());
        }
        dtm.addRow(DataRows);

        myTable.setModel(dtm);
        dtm.fireTableDataChanged();
    } catch (SQLException e) {
        System.out.println("SQL Exception: "+ e.toString());
    } catch (ClassNotFoundException cE) {
        System.out.println("Class Not Found Exception: "+ cE.toString());
    }
}

问题是这只显示第一行。任何人都可以指导我吗?

【问题讨论】:

    标签: java jtable


    【解决方案1】:

    您的代码中有多个错误

    检查你的 while 循环

    while(rs.next())
    

    如果它在正确的点结束

    您不断向同一个 DataRow 添加元素。这不是为您的表创建新行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      • 2018-05-27
      • 1970-01-01
      相关资源
      最近更新 更多