결과 검색(고급)

애플리케이션은 SQLBulkOperations, SQLFetch, SQLFetchScroll 또는 SQLSetPos를 호출할 때 바인딩된 데이터 버퍼 주소 및 해당 길이/표시기 버퍼 주소에 오프셋을 추가하도록 지정할 수 있습니다. 이러한 추가의 결과는 이러한 작업에 사용되는 주소를 결정합니다.

바인딩 오프셋을 사용하면 애플리케이션이 이전에 바인딩된 열에 대해 SQLBindCol을 호출하지 않고도 바인딩을 변경할 수 있습니다. SQLBindCol을 호출하여 데이터를 다시 바인딩하면 버퍼 주소와 길이/표시기 포인터가 변경됩니다. 반면에 오프셋을 사용하여 다시 바인딩하면 기존 바인딩된 데이터 버퍼 주소와 길이/표시기 버퍼 주소에 오프셋을 추가하기만 하면 됩니다. 오프셋을 사용하는 경우 바인딩은 애플리케이션 버퍼가 배치되는 방식의 "템플릿"이며 애플리케이션은 오프셋을 변경하여 이 "템플릿"을 다른 메모리 영역으로 이동할 수 있습니다. 언제든지 새 오프셋을 지정할 수 있으며 항상 원래 바인딩된 값에 추가됩니다.

바인딩 오프셋을 지정하기 위해 애플리케이션은 SQL_ATTR_ROW_BIND_OFFSET_PTR 문 특성을 SQLINTEGER 버퍼의 주소로 설정합니다. 애플리케이션이 SQLBulkOperations, SQLFetch, SQLFetchScroll 또는 SQLSetPos와 같은 바인딩을 사용하는 함수를 호출하기 전에 데이터 버퍼 주소나 길이/표시기 버퍼 주소가 0이 아니고 바운드 열이 결과 집합에 있는 한 이 버퍼에 오프셋을 바이트 단위로 배치합니다. 주소와 오프셋의 합계는 유효한 주소여야 합니다. 즉, 합계가 유효한 주소인 한 오프셋과 오프셋이 추가되는 주소 중 하나 또는 둘 다 유효하지 않을 수 있습니다. SQL_ATTR_ROW_BIND_OFFSET_PTR 문 특성은 둘 이상의 바인딩 데이터 집합에 오프셋 값을 적용할 수 있도록 포인터이며, 모두 하나의 오프셋 값을 변경하여 변경할 수 있습니다. 애플리케이션은 커서를 닫을 때까지 포인터가 유효한지 다시 기본 확인해야 합니다.

참고 항목

바인딩 오프셋은 ODBC 2에서 지원되지 않습니다.x 드라이버.

이 섹션에서는 다음 항목을 다룹니다.