Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Каждая функция в ODBC возвращает код, известный как код возврата, который указывает на общий успех или сбой функции. Логика программы обычно основана на кодах возврата.
Например, следующий код вызывает SQLFetch , чтобы получить строки в результирующем наборе. Он проверяет код возврата функции, чтобы определить, был ли достигнут конец результирующего набора (SQL_NO_DATA), возвращены ли какие-либо предупреждения (SQL_SUCCESS_WITH_INFO) или произошла ошибка (SQL_ERROR).
SQLRETURN rc;
SQLHSTMT hstmt;
while ((rc=SQLFetch(hstmt)) != SQL_NO_DATA) {
if (rc == SQL_SUCCESS_WITH_INFO) {
// Call function to display warning information.
} else if (rc == SQL_ERROR) {
// Call function to display error information.
break;
}
// Process row.
}
Код возврата SQL_INVALID_HANDLE всегда указывает на ошибку программирования и никогда не должен встречаться во время выполнения. Все остальные коды возврата предоставляют сведения о времени выполнения, хотя SQL_ERROR могут указывать на ошибку программирования.
В следующей таблице определены коды возврата.
| Код возврата | Description |
|---|---|
| SQL_SUCCESS | Функция успешно завершена. Приложение вызывает SQLGetDiagField для получения дополнительных сведений из записи заголовка. |
| SQL_SUCCESS_WITH_INFO | Функция успешно завершена, возможно, с нефатальной ошибкой (предупреждением). Приложение вызывает SQLGetDiagRec или SQLGetDiagField для получения дополнительных сведений. |
| ОШИБКА_SQL | Сбой функции. Приложение вызывает SQLGetDiagRec или SQLGetDiagField для получения дополнительных сведений. Содержимое всех выходных аргументов функции не определено. |
| SQL_INVALID_HANDLE | Произошла ошибка выполнения функции из-за неправильной среды, соединения, запроса или дескриптора. Это означает ошибку программирования. Дополнительные сведения не доступны из SQLGetDiagRec или SQLGetDiagField. Этот код возвращается только в том случае, если дескриптор имеет значение NULL или является неправильным типом, например, когда дескриптор инструкции передается для аргумента, требующего дескриптора соединения. |
| ДАННЫХ_НЕТ | Больше данных не было доступно. Приложение вызывает SQLGetDiagRec или SQLGetDiagField для получения дополнительных сведений. Может быть возвращена одна или несколько записей состояния, определенных драйвером в классе 02xxx. Примечание: В ODBC 2. x, этот код возврата был назван SQL_NO_DATA_FOUND. |
| SQL_NEED_DATA | Требуется больше данных, например при отправке данных параметров во время выполнения или дополнительных сведений о подключении. Приложение вызывает SQLGetDiagRec или SQLGetDiagField , чтобы получить дополнительные сведения, если таковые есть. |
| SQL_STILL_EXECUTING | Функция, запущенная асинхронно, по-прежнему выполняется. Приложение вызывает SQLGetDiagRec или SQLGetDiagField , чтобы получить дополнительные сведения, если таковые есть. |