ホームページ > Java > &#&チュートリアル > IllegalStateException を発生させずに Java で ResultSet から JTable を設定するにはどうすればよいですか?

IllegalStateException を発生させずに Java で ResultSet から JTable を設定するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-27 12:12:09
オリジナル
169 人が閲覧しました

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

ResultSet から JTable を設定する

提供されたコードを使用して ResultSet から JTable を設定しようとすると、エラー「java. lang.IllegalStateException: SQLite JDBC: 内部状態が一貫していません。」これに対処してプロセスを簡素化するには、より単純な方法の採用を検討してください。

次の例は、ResultSet インスタンスからモデルを構築する方法を示しています。

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

}
ログイン後にコピー

「buildTableModel」メソッドは次のように定義されます:

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

}
ログイン後にコピー

以上がIllegalStateException を発生させずに Java で ResultSet から JTable を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート