SQLCloseCursor 함수
규칙
도입된 버전: ODBC 3.0 표준 준수: ISO 92
요약
SQLCloseCursor 는 문에서 열린 커서를 닫고 보류 중인 결과를 삭제합니다.
구문
SQLRETURN SQLCloseCursor(
SQLHSTMT StatementHandle);
인수
StatementHandle
[입력] 문 핸들입니다.
반품
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_ERROR 또는 SQL_INVALID_HANDLE.
진단
SQLCloseCursor가 SQL_ERROR 또는 SQL_SUCCESS_WITH_INFO 반환하는 경우 SQL_HANDLE_STMT HandleType 및 Handle of StatementHandle을 사용하여 SQLGetDiagRec 를 호출하여 관련 SQLSTATE 값을 가져올 수 있습니다. 다음 표에서는 SQLCloseCursor에서 일반적으로 반환되는 SQLSTATE 값을 나열하고 이 함수의 컨텍스트에서 각각에 대해 설명합니다. 표기법 "(DM)"은 드라이버 관리자가 반환한 SQLSTATE에 대한 설명 앞에 나와 있습니다. 달리 명시되지 않는 한 각 SQLSTATE 값과 연결된 반환 코드는 SQL_ERROR.
SQLSTATE | Error | 설명 |
---|---|---|
01000 | 일반 경고 | 드라이버 관련 정보 메시지입니다. 함수는 SQL_SUCCESS_WITH_INFO 반환합니다. |
24000 | 커서 상태가 잘못되었습니다. | StatementHandle에 커서가 열려 있지 않습니다. (ODBC 3에서만 반환됩니다.x driver.) |
HY000 | 일반 오류 | 특정 SQLSTATE가 없고 구현별 SQLSTATE가 정의되지 않은 오류가 발생했습니다. *MessageText 버퍼의 SQLGetDiagRec에서 반환된 오류 메시지는 오류와 그 원인을 설명합니다. |
HY001 | 메모리 할당 오류 | 드라이버가 함수 실행 또는 완료를 지원하는 데 필요한 메모리를 할당할 수 없습니다. |
HY010 | 함수 시퀀스 오류 | (DM) StatementHandle과 연결된 연결 핸들에 대해 비동기 실행 함수가 호출되었고 이 함수가 호출되었을 때에도 계속 실행되고 있었습니다. (DM) StatementHandle에 대해 비동기적으로 실행되는 함수가 호출되었고 이 함수가 호출되었을 때에도 여전히 실행 중입니다. (DM) SQLExecute, SQLExecDirect, SQLBulkOperations 또는 SQLSetPos가 StatementHandle에 대해 호출되고 SQL_NEED_DATA 반환되었습니다. 이 함수는 모든 실행 시 데이터 매개 변수 또는 열에 대한 데이터를 보내기 전에 호출되었습니다. |
HY013 | 메모리 관리 오류 | 메모리 조건이 낮기 때문에 기본 메모리 개체에 액세스할 수 없기 때문에 함수 호출을 처리할 수 없습니다. |
HY117 | 알 수 없는 트랜잭션 상태로 인해 연결이 일시 중단됩니다. 연결 끊기 및 읽기 전용 함수만 허용됩니다. | (DM) 일시 중단 상태에 대한 자세한 내용은 SQLEndTran 함수를 참조 하세요. |
HYT01 | 연결 제한 시간이 만료됨 | 데이터 원본이 요청에 응답하기 전에 연결 제한 시간이 만료되었습니다. 연결 제한 시간은 SQL_ATTR_CONNECTION_TIMEOUT SQLSetConnectAttr를 통해 설정됩니다. |
IM001 | 드라이버는 이 함수를 지원하지 않습니다. | (DM) StatementHandle과 연결된 드라이버는 함수를 지원하지 않습니다. |
주석
커서가 열려 있지 않으면 SQLCloseCursor 는 SQLSTATE 24000(잘못된 커서 상태)을 반환합니다. SQLCloseCursor를 호출하는 것은 SQL_CLOSE 옵션을 사용하여 SQLFreeStmt를 호출하는 것과 동일하며, SQLCloseCursor는 문에 커서가 열려 있지 않으면 SQL_CLOSE SQLFreeStmt가 애플리케이션에 영향을 주지 않는다는 점을 제외하고 SQLCloseCursor는 SQLSTATE 24000(잘못된 커서 상태)을 반환합니다.
참고 항목
ODBC 3인 경우ODBC 2를 사용하는 x 애플리케이션입니다.x 드라이버는 커서가 열려 있지 않으면 SQLCloseCursor를 호출합니다. 드라이버 관리자가 SQL_CLOSE SQLCloseCursor를 SQLFreeStmt에 매핑하기 때문에 SQLSTATE 24000(잘못된 커서 상태)이 반환되지 않습니다.
자세한 내용은 커서 닫기를 참조 하세요.
코드 예
SQLBrowseConnect 함수 및 SQLConnect 함수를 참조하세요.
관련 함수
추가 정보 | 참조 |
---|---|
문 처리 취소 | SQLCancel 함수 |
핸들 해제 | SQLFreeHandle 함수 |
여러 결과 집합 처리 | SQLMoreResults 함수 |