Поделиться через


CDBException::m_nRetCode

Содержащее код ошибки, возвращаемый функцией ODBC типа RETCODE интерфейса программирования приложений odbc (API).

Заметки

Этот тип включает SQL-, обладающие префиксом определенные коды ODBC и коды AFX_SQL-prefixed указанные классами баз данных. Для CDBException, этот элемент будет содержаться одно из следующих значений:

  • AFX_SQL_ERROR_API_CONFORMANCE Драйвер для вызова CDatabase::OpenEx или CDatabase::Open не соответствует требуемому уровню соответствия 1 (SQL_OAC_LEVEL1 API ODBC).

  • Подключение к источнику данных AFX_SQL_ERROR_CONNECT_FAIL завершается ошибкой. Передан указатель NULLCDatabase в конструктор набора записей и последующая попытка создать соединение, основанное на GetDefaultConnect завершилась с ошибкой.

  • AFX_SQL_ERROR_DATA_TRUNCATED Необходимо спросили больше данных, чем предоставляемые хранилище. Дополнительные сведения о увеличение предоставленный хранилище данных для CString или типов данных CByteArray см. в разделе аргумент nMaxLength для RFX_Text и RFX_Binary в разделе "макросы и глобальными."

  • Вызов AFX_SQL_ERROR_DYNASET_NOT_SUPPORTED a CRecordset::Open при запросе к динамическим подмножеством данных завершилось неудачей. Динамические подмножества данных не поддерживаются драйвером.

  • AFX_SQL_ERROR_EMPTY_COLUMN_LIST Предпринята попытка открыть таблицу (или элементах, которые не могут быть определены как данный вызов процедуры или оператор SELECT ), но столбцы, указанные в вызовах функций обмена полями записей (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 Запрос для динамического подмножества данных не может быть выполнено, потому, что драйвер ODBC должен быть совместимым уровня 2.

  • AFX_SQL_ERROR_RECORDSET_FORWARD_ONLY Попытка прокрутки не выполнено успешно, поскольку источник данных не поддерживает обратная прокрутку.

  • Вызов AFX_SQL_ERROR_SNAPSHOT_NOT_SUPPORTED a к 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 завершается ошибкой. Сообщение об ошибке, возвращаемое функцией SQLError ODBC хранится в элементе данных m_strError.

  • SQL_INVALID_HANDLE Функция завершилась со сбоем на недопустимый дескриптор среды, функцией дескриптора соединения или маркер выписки. Это указывает на ошибку программирования. Дополнительные сведения SQLError не доступна из функции ODBC.

SQL-, обладающие префиксом коды определены в ODBC. AFX-, обладающие префиксом маркеры указаны в AFXDB.H в MFC\INCLUDE.

Требования

Header: afxdb.h

См. также

Ссылки

Класс CDBException

Диаграмма иерархии

Класс CDatabase

Класс CLongBinary

Класс CRecordset