Как обработать коды возврата и выходные параметры (ODBC)
Хранимые процедуры SQL Server могут иметь целочисленные коды возврата и выходные параметры. Коды возврата и выходные параметры пересылаются в последнем пакете от сервера, они не доступны приложению, пока SQLMoreResults не возвратит SQL_NO_DATA. Если хранимая процедура возвращает ошибку, вызовите метод SQLMoreResults, чтобы перейти к следующему результату, пока не будет возвращено значение SQL_NO_DATA.
Образец кода, показывающий обработку кода возврата и выходного параметра см. в файле ProcessReturnCodes.cpp, который можно загрузить на странице SQL Server Downloads веб-узла MSDN. Этот образец разработан с помощью Microsoft Visual C++ 2005 и предназначен для ODBC версии 3.0 и выше.
Примечание по безопасности |
---|
При возможности используйте проверку подлинности Windows. Если проверка подлинности Windows недоступна, запросите у пользователя ввод учетных данных во время выполнения. Избегайте хранения учетных данных в файле. Если необходимо сохранить учетные данные, зашифруйте их с помощью API-интерфейса шифрования Win32. |
Обработка кодов возврата и выходных параметров
Сконструируйте инструкцию SQL, использующую escape-последовательность ODBC CALL. Инструкция должна использовать маркеры параметров для каждого параметра входа, входа-выхода и выхода, а также для возвращаемого процедурой значения (если оно имеется).
Вызовите SQLBindParameter для каждого параметра входа, входа-выхода и выхода, а также для значения, возвращаемого процедурой (если оно имеется).
Выполните инструкцию с помощью SQLExecDirect.
Обрабатывайте результирующие наборы до тех пор, пока SQLFetch или SQLFetchScroll не возвратит SQL_NO_DATA при обработке последнего результирующего набора или до тех пор, пока SQLMoreResults не возвратит SQL_NO_DATA. На этот момент переменные, привязанные к коду возврата, а также выходные параметры заполнены возвращенными значениями данных.