다음을 통해 공유


API의 블록 커서 사용

API 서버 커서는 한 번에 한 행씩만 인출하도록 제한되지 않으며 한 번 인출할 때 여러 행을 검색할 수 있습니다. Microsoft SQL Server 2005 와 같은 클라이언트/서버 데이터베이스 작업을 할 때는 한 번에 여러 행을 인출하는 것이 효율적입니다. 인출 시 반환되는 행 수를 행 집합 크기라고 합니다. 행 집합 크기가 1보다 큰 커서를 블록 커서라고 합니다. 지원되는 API에서는 다음과 같은 방법으로 블록 커서를 사용할 수 있습니다.

  • ODBC
    • 문 특성 SQL_ATTR_ROWSET_SIZE를 행 집합 크기로 설정합니다.
    • 열 단위 또는 행 단위 바인딩을 사용하여 열을 변수 배열에 바인딩함으로써 반환된 행의 데이터를 보유할 수 있습니다. 각 배열의 요소 수는 행 집합 크기와 같습니다.
    • SQLFetchScroll을 호출할 때마다 SQL_ATTR_ROWSET_SIZE로 설정된 행 수를 인출합니다.
  • OLE DB
    • 행 핸들의 배열을 할당하고 각 핸들로 표시되는 열을 열 데이터를 보유할 변수 배열에 바인딩합니다.
    • 행 핸들 배열의 핸들 수로 설정된 cRows 매개 변수와 prghRows 매개 변수의 행 핸들 배열 주소를 사용하여 IRowset::GetNextRows를 호출합니다.
  • ADO
    • 검색할 행 수에 대한 데이터를 보유할 variant를 선언합니다.
    • 레코드 집합 메서드 Move, MoveFirst, MoveLast, MoveNextMovePrevious를 사용하여 커서에서 variant의 적절한 위치를 지정할 수 있습니다.
    • 행을 보관할 variant의 주소를 포함하는 array 매개 변수와 반환할 행 수를 포함하는 Crows 매개 변수를 사용하여 레코드 집합 메서드 GetRows를 호출합니다. Start 매개 변수를 사용하여 레코드 집합에서의 인출 위치를 지정할 수도 있습니다.

참고 항목

관련 자료

Rowsets and SQL Server Cursors
Cursor Rowset Size

도움말 및 정보

SQL Server 2005 지원 받기