Как вывести Использование инструкции (ODBC)
Использование инструкции
Для выделения дескриптора инструкции вызовите SQLAllocHandle с HandleType SQL_HANDLE_STMT.
Также можно вызвать SQLSetStmtAttr для установки параметров инструкции, или SQLGetStmtAttr для получения атрибутов инструкции.
Чтобы использовать серверные курсоры необходимо установить атрибуты курсоров на значения, отличные от значений по умолчанию.
Кроме того, если инструкция будет выполняться несколько раз, подготовьте ее к выполнению при помощи SQLPrepare.
Также если инструкция имеет связанные маркеры параметров, привяжите их к переменным программы с помощью SQLBindParameter. Если инструкция была подготовлена, можно вызвать SQLNumParams и SQLDescribeParam для поиска номера и характеристики параметров.
Произведите непосредственное выполнение инструкции с помощью SQLExecDirect.
— или —
Если инструкция была подготовлена, выполните ее несколько раз с помощью SQLExecute.
— или —
Вызовите функцию каталога, возвращающую результаты.
Обработайте результаты, связав столбцы результирующего набора с переменными программы, переместив данные из столбцов результирующего набора в переменные программы с помощью SQLGetData, или используйте сочетание этих двух методов.
Произведите выборку результирующего набора инструкции по одной строке за один раз.
— или —
Произведите выборку результирующего набора по несколько строк за один раз с помощью блочного курсора.
— или —
Вызовите SQLRowCount, чтобы определить число строк, затронутых инструкцией INSERT, UPDATE или DELETE.
Если инструкция SQL имеет несколько результирующих наборов, то в конце каждого результирующего набора вызовите SQLMoreResults, чтобы просмотреть, есть ли дополнительные результирующие наборы для обработки.
После обработки результатов, чтобы сделать для дескриптора инструкции доступной возможность выполнения новой инструкции, могут потребоваться следующие действия.
Если не было вызова SQLMoreResults до возвращения ею значения SQL_NO_DATA, вызовите SQLCloseCursor для закрытия курсора.
Если маркеры параметров привязаны к переменным программы, то для их освобождения вызовите SQLFreeStmt с Option, установленным в значение SQL_RESET_PARAMS.
Если столбцы результирующего набора привязаны к переменным программы, то для их освобождения вызовите SQLFreeStmt с Option, установленным в значение SQL_UNBIND.
Для повторного использования дескриптора инструкции перейдите к шагу 2.
Для освобождения дескриптора инструкции вызовите SQLFreeHandle с HandleType SQL_HANDLE_STMT.