다음을 통해 공유


CDBException::m_nRetCode

ODBC 오류 코드 형식의 포함 RETCODE ODBC 응용 프로그램 프로그래밍 인터페이스 (API) 함수에서 반환 합니다.

설명

이 형식은 ODBC가 정의한 SQL 접두사 코드 및 데이터베이스 클래스에서 정의 된 AFX_SQL 접두사 코드 포함 되어 있습니다.에 CDBException,이 구성원은 다음 값 중 하나가 포함 됩니다.

  • AFX_SQL_ERROR_API_CONFORMANCE 드라이버는 CDatabase::OpenEx 또는 CDatabase::Open 호출이 필요한 ODBC API 규칙 수준 1 맞지 않습니다 (SQL_OAC_LEVEL1).

  • AFX_SQL_ERROR_CONNECT_FAIL 데이터 원본에 연결 하지 못했습니다.전달에 NULLCDatabase 기준으로 포인터를 레코드 집합 생성자 및 후속 연결을 설정 하려고 GetDefaultConnect 실패 했습니다.

  • AFX_SQL_ERROR_DATA_TRUNCATED 에 대 한 저장소를 제공 하는 것 보다 더 많은 데이터를 요청 합니다.제공 된 데이터 저장소에 대 한 증가 하는 방법에 대 한 CString 또는 CByteArray 데이터 형식을 참조 하십시오의 nMaxLength 인수에 대 한 RFX_TextRFX_Binary "매크로 및 전역 변수입니다."

  • AFX_SQL_ERROR_DYNASET_NOT_SUPPORTED 호출을 CRecordset::Open 다이너셋 요청에 실패 했습니다.다이너셋은 드라이버에서 지원 되지 않습니다.

  • AFX_SQL_ERROR_EMPTY_COLUMN_LIST 표를 열려고 시도 (또는 제공한 어떤 프로시저 호출으로 확인할 수 없습니다 또는 선택 문) 이지만 열 레코드 필드 교환 (RFX) 함수 호출을 확인를 DoFieldExchange 무시 합니다.

  • AFX_SQL_ERROR_FIELD_SCHEMA_MISMATCH 형식에서 RFX 함수를 DoFieldExchange 재정의 레코드 집합 열 데이터 형식과 호환 되지 않습니다.

  • AFX_SQL_ERROR_ILLEGAL_MODE 호출 하면 CRecordset::Update 이전에 호출 하지 않고 CRecordset::AddNew 또는 CRecordset::Edit.

  • AFX_SQL_ERROR_LOCK_MODE_NOT_SUPPORTED 잠금 ODBC 드라이버를 지원 하지 않으므로 잠금 레코드 업데이트에 대 한 요청을 수행할 수 없습니다.

  • AFX_SQL_ERROR_MULTIPLE_ROWS_AFFECTED 호출 하면 CRecordset::Update 또는 삭제 테이블에 고유 키 및 여러 레코드를 변경 합니다.

  • AFX_SQL_ERROR_NO_CURRENT_RECORD 편집 또는 이전에 삭제 된 레코드를 삭제 하려고 합니다.삭제 후 새로운 현재 레코드로 스크롤해야 합니다.

  • AFX_SQL_ERROR_NO_POSITIONED_UPDATES 다이너셋 ODBC 드라이버에서 지원 하지 않는 때문에 수행할 수 없습니다에 대 한 업데이트 요청을 배치 합니다.

  • AFX_SQL_ERROR_NO_ROWS_AFFECTED 호출 하면 CRecordset::Update 또는 삭제, 하지만 레코드 작업 시작할 때 더 이상 찾을 수 없습니다.

  • AFX_SQL_ERROR_ODBC_LOAD_FAILED 는 ODBC를 로드 하려고 합니다.DLL 실패 했습니다. Windows를 찾을 수 없습니다 또는이 DLL을 로드할 수 없습니다.이 오류는 치명적입니다.

  • AFX_SQL_ERROR_ODBC_V2_REQUIRED 수준 2 호환 ODBC 드라이버가 필요 하기 때문에 다이너셋에 대 한 요청을 수행할 수 없습니다.

  • AFX_SQL_ERROR_RECORDSET_FORWARD_ONLY 데이터 원본 뒤로 스크롤할 수 없기 때문에 이동 하려고 시도 하지 못했습니다.

  • AFX_SQL_ERROR_SNAPSHOT_NOT_SUPPORTED 호출을 CRecordset::Open 스냅숏을 요청에 실패 했습니다.스냅샷 드라이버에서 지원 되지 않습니다.(이 일어날 때 ODBC 커서 라이브러리-ODBCCURS.-DLL이 존재 하지 않습니다.)

  • AFX_SQL_ERROR_SQL_CONFORMANCE 드라이버는 CDatabase::OpenEx 또는 CDatabase::Open 호출 ODBC SQL 규격 수준을 "최소"에 맞지 않습니다 (SQL_OSC_MINIMUM).

  • AFX_SQL_ERROR_SQL_NO_TOTAL 는 ODBC 드라이버의 전체 크기를 지정할 수 없습니다는 CLongBinary 데이터 값입니다.전역 메모리 블록에 없습니다 미리 할당 된 될 수 있기 때문에 아마도 작업에 실패 했습니다.

  • AFX_SQL_ERROR_RECORDSET_READONLY 는 읽기 전용 레코드 집합을 업데이트 하려고 합니다. 또는 데이터 원본을 읽기 전용입니다.레코드 집합에 없는 업데이트 작업을 수행할 수 또는 CDatabase 관련 된 개체입니다.

  • SQL_ERROR 함수가 실패 했습니다.ODBC 함수에서 반환 되는 오류 메시지 SQLError 에 저장 되는 m_strError 데이터 멤버.

  • SQL_INVALID_HANDLE 핸들이 잘못 된 환경, 연결 핸들 또는 문 핸들 때문에 함수가 실패 했습니다.이 프로그래밍 오류를 나타냅니다.ODBC 함수에서 추가 정보가 없습니다 SQLError.

ODBC에서 SQL 접두사 코드를 정의 합니다.AFX 접두사가 코드는 AFXDB에 정의 됩니다.H MFC\INCLUDE에서 찾을 수 있습니다.

요구 사항

헤더: afxdb.h

참고 항목

참조

CDBException 클래스

계층 구조 차트

CDatabase 클래스

CLongBinary 클래스

CRecordset 클래스