> Java > java지도 시간 > IllegalStateException 없이 Java의 ResultSet에서 JTable을 채우는 방법은 무엇입니까?

IllegalStateException 없이 Java의 ResultSet에서 JTable을 채우는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-27 12:12:09
원래의
174명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿