Heim > Java > javaLernprogramm > Wie fülle ich eine JTable aus einem ResultSet in Java ohne eine IllegalStateException?

Wie fülle ich eine JTable aus einem ResultSet in Java ohne eine IllegalStateException?

Susan Sarandon
Freigeben: 2024-12-27 12:12:09
Original
184 Leute haben es durchsucht

How to Populate a JTable from a ResultSet in Java Without an IllegalStateException?

JTable aus ResultSet füllen

Wenn Sie versuchen, eine JTable aus einem ResultSet mit Ihrem bereitgestellten Code zu füllen, kann die Fehlermeldung „java. lang.IllegalStateException: SQLite JDBC: inkonsistenter interner Status.“ Um dieses Problem zu beheben und den Prozess zu vereinfachen, sollten Sie die Verwendung einer einfacheren Methode in Betracht ziehen.

Das folgende Beispiel zeigt eine Möglichkeit, ein Modell aus einer ResultSet-Instanz zu erstellen:

public static void main(String[] args) throws Exception {
    // Obtain the Connection
    
    ResultSet rs = stmt.executeQuery("select * from product_info");

    // Create and display the table
    JTable table = new JTable(buildTableModel(rs));

    // Close the Connection

    JOptionPane.showMessageDialog(null, new JScrollPane(table));

}
Nach dem Login kopieren

Die Methode „buildTableModel“. ist definiert als:

public static DefaultTableModel buildTableModel(ResultSet rs)
        throws SQLException {

    ResultSetMetaData metaData = rs.getMetaData();

    // Column names
    Vector<String> columnNames = new Vector<String>();
    int columnCount = metaData.getColumnCount();
    for (int column = 1; column <= columnCount; column++) {
        columnNames.add(metaData.getColumnName(column));
    }

    // Table data
    Vector<Vector<Object>> data = new Vector<Vector<Object>>();
    while (rs.next()) {
        Vector<Object> vector = new Vector<Object>();
        for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
            vector.add(rs.getObject(columnIndex));
        }
        data.add(vector);
    }

    return new DefaultTableModel(data, columnNames);

}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie fülle ich eine JTable aus einem ResultSet in Java ohne eine IllegalStateException?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage