CDBException::m_nRetCode
包含 ODBC Application Programming Interfaces (API) 函式傳回的型別 RETCODE 一個 ODBC 錯誤碼。
備註
型別定義包括 ODBC 的 SQL 前置字元的程式碼和資料庫類別定義的 AFX_SQL-prefixed 程式碼。 如需 CDBException,成員會包含下列其中一個值:
AFX_SQL_ERROR_API_CONFORMANCECDatabase::OpenEx 或 CDatabase::Open 呼叫的驅動程式不一致要求 ODBC API 一致性層級 1 (SQL_OAC_LEVEL1)。
與失敗之資料來源的AFX_SQL_ERROR_CONNECT_FAIL 連接。 您傳遞 NULLCDatabase 指標到您的資料錄集建構函式,而且後續嘗試會根據 GetDefaultConnect 的連接失敗。
您AFX_SQL_ERROR_DATA_TRUNCATED 比您提供儲存區提供要求詳細資料。 如需將 CString 或 CByteArray 資料型別所提供的資料儲存為 RFX_Text 的詳細資訊,請參閱和 RFX_BinarynMaxLength 引數在「巨集和下 Globals」。
所要求的 CRecordset::Open 動態集的AFX_SQL_ERROR_DYNASET_NOT_SUPPORTED A 呼叫失敗。 動態集不是由驅動程式支援。
您嘗試開啟資料表 (AFX_SQL_ERROR_EMPTY_COLUMN_LIST 或任何您指定了無法識別為程序呼叫或 SELECT 陳述式),但未在您的 DoFieldExchange 覆寫資料錄欄位交換 (RFX) 函式呼叫所識別的資料行。
AFX_SQL_ERROR_FIELD_SCHEMA_MISMATCH 一個 RFX 函式類型的 DoFieldExchange 覆寫的與資料行資料型別不相容的資料錄集。
AFX_SQL_ERROR_ILLEGAL_MODE 您呼叫 CRecordset::Update ,而不用先前呼叫 CRecordset::AddNew 或 CRecordset::Edit。
因為您的 ODBC 驅動程式不支援鎖定,AFX_SQL_ERROR_LOCK_MODE_NOT_SUPPORTED 需要鎖定更新的資料錄無法完成。
AFX_SQL_ERROR_MULTIPLE_ROWS_AFFECTED 您呼叫 CRecordset::Update 或 刪除 資料表中沒有唯一的索引鍵而變更了多個資料錄。
您 嘗試編輯或刪除先前已刪除資料錄的AFX_SQL_ERROR_NO_CURRENT_RECORD 。 您必須移動至新的目前資料錄在刪除之後。
因為您的 ODBC 驅動程式不支援定位更新,AFX_SQL_ERROR_NO_POSITIONED_UPDATES 需要動態集無法完成。
AFX_SQL_ERROR_NO_ROWS_AFFECTED 您呼叫或, CRecordset::Update刪除,但是,作業啟動時就無法找到該資料錄。
AFX_SQL_ERROR_ODBC_LOAD_FAILED 嘗試載入 ODBC.DLL 失敗;視窗找不到或無法載入此 DLL。 這個錯誤是嚴重錯誤。
因為需要,AFX_SQL_ERROR_ODBC_V2_REQUIRED 需要動態集無法完成一個層級 2 相容的 ODBC 驅動程式。
因為資料來源不支援向後捲動,AFX_SQL_ERROR_RECORDSET_FORWARD_ONLY 嘗試移動失敗。
所要求的 CRecordset::Open 快照的AFX_SQL_ERROR_SNAPSHOT_NOT_SUPPORTED A 呼叫失敗。 快照集不是由驅動程式支援。 (這只會發生,而 ODBC 資料指標程式庫 (ODBCCURS.DLL —不存在)。
AFX_SQL_ERROR_SQL_CONFORMANCECDatabase::OpenEx 或 CDatabase::Open 呼叫的驅動程式不符合「Minimum」必要的 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無法使用。
SQL 前置字元的程式碼是由 ODBC 所定義。 AFX 前置的程式碼位於 AFXDB.H 在 MFC \INCLUDE 定義,找到。
需求
Header: afxdb.h