Ich versuche, meine JTable aus meiner eingebetteten Datenbank zu befüllen, die ich in Netbeans eingerichtet habe.Die Methode 'getRow()' ist nur für Scrollcursor zulässig SQLException error
Meine Datenbank enthält 3 Zeilen und 3 Spalten, die ich in eine JTable einfügen möchte, und mache die Tabelle in meiner GUI-Anwendung sichtbar.
Allerdings erhalte ich einen java.sql.SQLException Fehler wie der Titel oben sagt und meine Tabelle wird nicht sichtbar in meiner GUI-Anwendung.
Hier ist mein Code:
public void FillTable(JTable table, String Query)
{
try
{
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:derby:STOCK_CONTROL");
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery(Query);
//Remove previously added rows
while (table.getRowCount() > 0)
{
((DefaultTableModel) table.getModel()).removeRow(0);
}
int columns = rs.getMetaData().getColumnCount();
while (rs.next())
{
Object[] row = new Object[columns];
for (int i = 1; i <= columns; i++)
{
row[i - 1] = rs.getObject(i);
}
//The error is being generated here at 'rs.getRow()'
((DefaultTableModel) table.getModel()).insertRow(rs.getRow() - 1, row);
}
rs.close();
stat.close();
conn.close();
}
catch (InstantiationException |
IllegalAccessException |
ClassNotFoundException |
SQLException e)
{
System.out.println(e);
e.printStackTrace();
}
}
ich dann meine Tabelle erstellen und rufen Sie die Methode, wie oben:
JTable tigerTable = new JTable();
FillTable(tigerTable, "SELECT * FROM TIGER_INFO");
Ich habe versucht, Informationen zu finden, warum dieser Fehler verursacht wird aber ohne Erfolg.
Meine Frage ist, wie beziehe ich meine JTable korrekt aus meiner eingebetteten Datenbank, während ich mich auch von diesem unbekannten Fehler entferne, den ich erreicht habe?
Was bedeutet dieser Fehler genau? Ich bin mir nicht sicher, was ein "Scroll-Cursor" ist.