簡體   English   中英

將數據庫表中的所有數據集插入到jTable Java中

[英]inserting all datasets from database table into jTable Java

我正在嘗試從數據庫中將所有數據集選擇到jTable中(單擊按鈕后)。

我嘗試過這樣的事情:

public Object getValueAt(int rowIndex, int columnIndex) throws SQLException { java.sql.Connection con; con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/lessonstbl","root",""); String query =" SELECT * FROM lessons"; PreparedStatement statement = con.prepareStatement(query); ResultSet rs = statement.executeQuery(query);

     try {
            rs.absolute(rowIndex + 1);
            switch (columnIndex) {
                case 0: 
                    return rs.getString(1);
                case 1:
                    return rs.getString(2);
                case 2:
                    return rs.getInt(3);
                case 3:
                    return rs.getObject(4).toString();
                case 4:
                    return rs.getObject(5).toString();
                default:
                    return null;
            }
        } catch (SQLException ex) {
            System.out.println(ex.getMessage());

..但這不起作用。 全部提前

public Object getValueAt(int rowIndex, int columnIndex) throws SQLException {

在我看來,您正在嘗試覆蓋TableModel的getValueAt(...)方法。 由於以下幾個原因,該方法不起作用:

  1. 您將通過添加throws SQLExeption來更改方法簽名,因此您不會覆蓋TableModel的默認實現,而是創建一個未調用的新方法。

  2. 在getVaueAt()方法中執行SQL查詢是一個壞主意。 此方法應非常有效,因為每次需要繪制表中的單元格時都會調用此方法。

因此,正確的解決方案是在創建表時執行SQL查詢,並在類開始時將SQL查詢中的所有數據加載到TableModel中。 這意味着您將需要遍歷ResultSet所有行和列,以將數據添加到TableModel

簽出“ Table From DataBase Example中的表”中的“數據庫中的表” Table From DataBase Example 或者,您可以在論壇中搜索關鍵字為“ ResultSet and JTable”的其他示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM