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
Susan SarandonOriginal
2024-12-27 12:12:09214Durchsuche

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));

}

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);

}

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!

Stellungnahme:
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