2013-03-04 4 views
0

다음과 같은 문제가 있습니다. 저는 JDBC를 사용하고 쿼리를 수행하고 있습니다. 그러나 qry는 작동하지 않습니다. rs.next()를 출력하면 false를 반환합니다.JDBC - 결과 집합이 거짓입니다.

동일한 qry는 SQL Developer 자체에서 작동하며 JDBC에서는 작동하지 않습니다. QRY :

ResultSet rs = stmt.executeQuery("select account_id, oper_type, new_value from action where account_id = 1"); 
     //ResultSet rsAccount = stmt.executeQuery("select account_id from accounts"); 
     System.out.println("Accounts Update"); 
     System.out.println(rs.next()); 
     if(rs.next() == true){ 
      System.out.println("Not null"); 
     } 
+1

왜 작동하지 않는 걸까요? 'rs.next()'가'false'를 반환하면, 유효한 행이 더 이상 없다는 것을 의미합니다. – ogzd

+0

하지만 첫 번째 결과도 출력되지 않습니다 ... 그게 문제입니다. 나는 7 개의 행을 가지고 있으며 심지어 하나의 행을 출력하지도 않습니다. SQL-Developer에서 동일한 qry가 작동합니다. – loomie

+0

'next()'를 두 번 호출합니다. 따라서 하나의 행만있는 경우 두 번째'next()'호출 (if 내부)은 항상 false를 반환합니다. 또한 선택 항목의 데이터조차 사용하지 않습니다. –

답변

1

좋아, 나는 그것을 "해결했다". 문제는 내 프로젝트 교사가 커밋을 추가하는 것을 잊었습니다. SQL 파일 끝에

+0

둘째,'rs.next()'를 두 번 사용하고 있습니다. ** print ** 문에 한 번, ** if ** 문에 두 번. 선택 쿼리에 레코드가 하나만있는 경우 if 조건은 다시 실패합니다. 더 나은 결과를 얻으려면 print 문에 주석을 답니다. –

관련 문제