[英]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(...)
方法。 由於以下幾個原因,該方法不起作用:
您將通過添加throws SQLExeption來更改方法簽名,因此您不會覆蓋TableModel的默認實現,而是創建一個未調用的新方法。
在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.