다음을 통해 공유


행 스크롤 및 인출

스크롤형 커서를 사용하려면 ODBC 응용 프로그램에서 다음을 수행해야 합니다.

  • SQLSetStmtAttr을 사용하여 커서 기능을 설정합니다.

  • SQLExecute 또는 SQLExecDirect를 사용하여 커서를 엽니다.

  • SQLFetch 또는 SQLFetchScroll을 사용하여 행을 스크롤하고 인출합니다.

SQLFetchSQLFetchSroll은 둘 다 동시에 행 블록을 인출할 수 있습니다. 반환되는 행의 수는 SQLSetStmtAttr을 통해 SQL_ATTR_ROW_ARRAY_SIZE 매개 변수를 설정하여 지정됩니다.

ODBC 응용 프로그램에서는 SQLFetch를 사용하여 정방향 전용 커서를 인출할 수 있습니다.

SQLFetchScroll은 커서를 스크롤하는 데 사용됩니다. SQLFetchScroll은 상대 인출(현재 행 집합의 시작 부분에서 n행이 떨어진 행 집합 인출)과 절대 인출(행 n부터 행 집합 인출) 외에도 다음, 이전, 첫 번째 및 마지막 행 집합 인출을 지원합니다. 절대 인출에서 n이 음수이면 결과 집합의 끝에서부터 행이 카운트됩니다. 예를 들어 이 숫자가 -1이면 결과 집합의 마지막 행에서 시작하는 행 집합이 인출됩니다.

보고서와 같은 블록 커서 기능에 대해 SQLFetchScroll만 사용하는 응용 프로그램에서는 다음 행 집합을 인출하는 옵션만 사용하여 결과 집합을 한 번만 전달할 가능성이 높습니다. 반면에 화면 중심의 응용 프로그램에서는 SQLFetchScroll의 모든 기능을 활용할 수 있습니다. 이 응용 프로그램에서 행 집합 크기를 화면에 표시되는 행의 수로 설정하고 화면 버퍼를 결과 집합에 바인딩할 경우 스크롤 막대 작업을 SQLFetchScroll에 대한 호출로 직접 변환할 수 있습니다.

스크롤 막대 작업

SQLFetchScroll 스크롤 옵션

페이지 위로

SQL_FETCH_PRIOR

페이지 아래로

SQL_FETCH_NEXT

줄 위로

FetchOffset이 -1인 SQL_FETCH_RELATIVE

줄 아래로

FetchOffset이 1인 SQL_FETCH_RELATIVE

스크롤 상자 맨 위로

SQL_FETCH_FIRST

스크롤 상자 맨 아래로

SQL_FETCH_LAST

임의 스크롤 상자 위치

SQL_FETCH_ABSOLUTE