0
두 번째로 ResultSet이 소모됨에 따라이 메소드가 호출됩니다. 처음 오류가 없습니다. obj[i][j] = rs.getString(1);
Resultset exhausted
public static void createTableModel(ResultSet rs) {
try {
rs.first();
while(rs.next()) {
count++;
}
String [][] obj;
obj = new String [count][3];
rs.first();
for (int i=0; i<count; i++) {
for (int j=0; j < 3; j++) {
if(j == 0) {
obj[i][j] = rs.getString(1);
}
else if(j == 1) {
obj[i][j] = Integer.toString(rs.getInt(2));
}
else if(j == 2) {
obj[i][j] = rs.getString(6);
}
}
rs.next();
}
GlobalVariables.table1 = new DefaultTableModel(obj,
new String [] {
"Name", "Age", "License No"
}
);
}
catch (Exception e) {
e.printStackTrace();
}
}
나는 한 번 같은 문제에 직면했다. 그런 다음 다른 데이터 구조를 사용하여 RS의 값을 복사 한 후 나중에 사용합니다. 나는 그것이 왜 일어나는 지 모르겠다. –
데이터를 복사 할 다른 문자열 개체를 만들었습니까? –
'arraylist'에서 쿼리 결과로 반환되는'resultset'의 전체 결과를 저장 한 다음 그 arraylist를 사용했습니다. –