Все функции ODBC возвращают коды, чтобы показать в каком состоянии выполнения находится та или иная функция. Код возврата или RETCODE указывает на то, был ли вызов функции ошибочным или нет не указывает точной причины возникновения той или иной ошибки. В таблице 18 приведены коды возврата ODBC и их краткие описания.
Таблица 18 Коды возврата ODBC
Код возврата
Описание
SQL_SUCCESS
Функция выполнена успешно, информация об ошибке отсутствует
SQL_SUCCESS_WITH_INFO
Функция выполнена успешно, однако есть некоторая предупреждающая информация
SQL_NO_DATA_FOUND
Все строки результирующего множества извлечены. Это не является ошибкой, но указывает, что больше не осталось информации для выборки
SQL_ERROR
Ошибка в процессе выполнения данной функции. Имеется дополнительная информация об ошибке для восстановления.
SQL_INVALID_HANDLE
Возвращается функцией ODBC в случае, если какой-нибудь из идентификаторов-параметров данной функции является недействительным
SQL_STILL_EXECUTING
Возвращается какой-либо асинхронно выполняющейся функцией, находящейся в процессе выполнения
Продолжение таблицы 18
SQL_NEED_DATA
Возвращается функциями исполнения SQL – оператора в случае определения параметров операторов во время выполнения.
Проверка кодов возврата может выполняться посредством макросов RETCODE_IS_FAILURE или RETCODE_IS_SUCCESSFUL. Данные макросы приведены ниже:
Для использования макросов в программах ODBC, необходимо применять переменные типа кодов возврата, т.е. типа RETCODE, например:
#include <sql.h>
#include <windows.h>
RETCODE rc;
HENV henv;
rc=SQLAllocEnv(&henv);
if (RETCODE_IS_SUCCESSFULL(rc))
{операторы, выполняющиеся в случае истинности условия
оператора if };
В приведенном примере переменная rc предназначена для определения кода возврата функции SQLAllocEnv() (более подробное описание этой и других функций в последующих параграфах)