다음을 통해 공유


열 데이터

Important

이 기능은 이후 Windows 버전에서 제공될 예정입니다. 새 개발 작업에서 이 기능을 사용하지 말고 현재 이 기능을 사용하는 애플리케이션을 수정할 계획입니다. 드라이버의 커서 기능을 사용하는 것이 좋습니다.

커서 라이브러리는 SQLBindCol을 사용하여 결과 집합에 바인딩된 각 데이터 버퍼의 캐시에 버퍼를 만듭니다. 이러한 버퍼의 값을 사용하여 위치가 지정된 업데이트 또는 삭제 문을 에뮬레이트할 때 WHERE 절을 생성합니다. 데이터 원본에서 데이터를 가져올 때 및 배치된 업데이트 문을 실행할 때 행 집합 버퍼에서 이러한 버퍼를 업데이트합니다.

커서 라이브러리가 행 집합 버퍼에서 캐시를 업데이트하면 SQLBindCol에 지정된 C 데이터 형식에 따라 데이터를 전송합니다. 예를 들어 행 집합 버퍼의 C 데이터 형식이 SQL_C_SLONG 커서 라이브러리는 4바이트의 데이터를 전송합니다. SQL_C_CHAR BufferLength 가 10이면 커서 라이브러리는 10바이트의 데이터를 전송합니다. 커서 라이브러리는 전송하는 데이터에 대해 형식 검사 또는 변환을 수행하지 않습니다.

참고 항목

해당 행 집합 버퍼의 *StrLen_or_IndPtr SQL_DATA_AT_EXEC 또는 SQL_LEN_DATA_AT_EXEC 매크로의 결과인 경우 커서 라이브러리는 열에 대한 캐시를 업데이트하지 않습니다.

열을 업데이트할 때 데이터 원본은 고정 길이 문자 데이터와 0 패드 고정 길이 이진 데이터를 필요에 따라 빈 패드로 채우게 됩니다. 예를 들어 데이터 원본은 CHAR(10) 열에 "Smith"를 "Smith"로 저장합니다. 커서 라이브러리는 위치가 지정된 업데이트 문을 실행한 후 이 데이터를 캐시에 복사할 때 행 집합 버퍼의 빈 패드 또는 0패드 데이터를 사용하지 않습니다. 따라서 애플리케이션에서 커서 라이브러리의 캐시에 있는 값이 빈 패딩 또는 0 패딩이 필요한 경우 배치된 업데이트 문을 실행하기 전에 행 집합 버퍼의 값을 빈 패드로 채우거나 0패드해야 합니다.