【问题标题】:Display records from mysql database to a custom Jtable in java在java中显示从mysql数据库到自定义Jtable的记录
【发布时间】:2017-04-04 09:55:04
【问题描述】:

我的数据库中有一些记录,我想在我的 java 应用程序 GUI 中的 Jtable 上显示这些记录。我已经自定义了 Jtable 并添加了一些不在我的数据库中的额外列。 请协助。下面的代码只显示单个列中的单个记录(具体描述列)

    public NewJFrame() {
    ArrayList data = new ArrayList();
    initComponents();

    okay.setVisible(true);
    try {
        String myDriver = "com.mysql.cj.jdbc.Driver";
        String myUrl = "jdbc:mysql://localhost:3306/lostfound";
        Class.forName(myDriver);
        Connection c = DriverManager.getConnection(myUrl, "root", "");
        String sql = "SELECT * FROM found";
        Statement st = c.createStatement();

        // execute the query, and get a java resultset
        ResultSet rs =st.executeQuery(sql);


        while(rs.next())
        {
        String name = rs.getString("name");
        String description = rs.getString("description");
        String location = rs.getString("location");
        jTable2.getModel().setValueAt(name, WIDTH, ICONIFIED); 
        jTable2.getModel().setValueAt(description, WIDTH, ICONIFIED);   
        jTable2.getModel().setValueAt(location, WIDTH, ICONIFIED);   
        }
    }
    catch (SQLException e)
    {
        System.out.println( e.getMessage() );
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
    }
    jTable2.show();
}

【问题讨论】:

标签: java mysql


【解决方案1】:

您将 resultSet 数据分配给单个行和列,您需要一个 row 计数器并为每一行递增,如下所示:

int row=0;
while(rs.next()) {
    String name = rs.getString("name");
    String description = rs.getString("description");
    String location = rs.getString("location");
    jTable2.getModel().setValueAt(name, row, 0);//name at column 0 always
    jTable2.getModel().setValueAt(description, row, 1);//desc at column 1 always 
    jTable2.getModel().setValueAt(location, row, 2);//location at column 2 always
    row++;//increment row counter for each record
}

【讨论】:

    猜你喜欢
    • 2012-08-28
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 2020-09-14
    • 2020-06-06
    • 1970-01-01
    相关资源
    最近更新 更多