resultset 예제

By 2019. augusztus 2. Egyéb No Comments

이 예제에서는 두 개의 인수인 ResultSet.TYPE_SCROLL_SENSITIVE 및 결과 집합.CONCUR_UPDATABLE이 있는 Connection.createStatement 메서드를 호출합니다. 첫 번째 값을 사용하면 ResultSet 개체의 커서를 앞뒤로 이동할 수 있습니다. ResultSet.CONCUR_UPDATABLE이라는 두 번째 값은 ResultSet 개체에 행을 삽입하려는 경우 필요합니다. 업데이터화할 수 있음을 지정합니다. JDBC 2.0 API에 새로운 기능이 추가되면 응용 프로그램에서 DBMS 또는 드라이버가 지원하지 않는 기능을 요청할 수 있습니다. 예를 들어 드라이버가 스크롤 가능한 결과 집합을 지원하지 않는 경우 정방향 전용 결과 집합을 반환할 수 있습니다. 또한 일부 쿼리는 업데이트할 수 없는 결과 집합을 반환하므로 업데이트 할 수 있는 결과 집합을 요청하면 해당 쿼리에 영향을 주지 않습니다. 일반적인 규칙은 쿼리가 선택한 열 중 하나로 기본 키를 포함해야 하며 하나의 테이블만 참조해야 한다는 것입니다. 편리하지는 않지만 스크롤할 수 없는 결과 집합의 행 수를 확인할 수도 있습니다. 다음 예제에서는 행 수를 결정하는 한 가지 방법을 보여 주며 있습니다. 예를 들어 메서드 getInt null 값을 허용하는 열에서 0을 반환하는 경우 응용 프로그램은 다음 코드 조각에 표시된 대로 메서드wasNull을 호출할 때까지 데이터베이스의 값이 0인지 NULL인지 여부를 알 수 없습니다. 다음 코드 조각은 문 개체 대신 PreparedStatement 개체를 사용하여 결과 집합을 만듭니다.

결과 집합에는 연결에 대한 트랜잭션 격리 수준이 설정되어 있다는 점을 제외하면 이전 예제와 동일한 특성이 있습니다. 인터페이스 ResultSet 스크롤 가능한 결과 집합의 행을 반복 하는 또 다른 방법을 제공 합니다. 그러나 다음 예제에 설명된 것과 같은 잘못된 대안을 피하기 위해 주의해야 합니다. 이제 이클립스 IDE를 사용하여 이 예제를 실행하고 결과를 확인합니다. 응용 프로그램에서 스크롤 가능한 결과 집합을 지정하고 드라이버가 스크롤을 지원하지 않는 경우 드라이버는 문을 생성한 Connection 개체에 경고를 발행하고 정방향 전용인 결과 집합을 반환합니다. 드라이버가 스크롤 가능한 결과 집합을 지원하더라도 응용 프로그램에서 드라이버가 지원하지 않는 스크롤 가능한 형식을 요청할 수 있습니다. 이러한 경우 드라이버는 문을 생성한 연결 개체에 SQLWarning를 발행하고 요청된 정확한 형식과 다른 경우에도 지원되는 형식의 스크롤 가능한 결과 집합을 반환합니다. 예를 들어 응용 프로그램에서 TYPE_SCROLL_SENSITIVE 결과 집합을 요청하고 드라이버가 해당 형식을 지원하지 않는 경우 해당 형식을 지원하는 경우 TYPE_SCROLL_INSENSITIVE 결과 집합을 반환할 수 있습니다.