Работа с базами данных


ВЫПОЛНЕНИЕ ПРОСТЕЙШИХ SQL-ОПЕРАТОРОВ С ИСПОЛЬЗОВАНИЕМ СРЕДСТВ ODBC - часть 4


SWORD cbErrorMsgMax - максимальный размер вышеописанного буфера, должен быть меньше или равен SQL_MAX_MESSAGE_LENGTH-1.

SWORD cbErrorMsg - сюда возвращается число байт, скопированных в буфер.

3. Непосредственное и подготавливаемое выполнение операторов SQL

Непосредственное выполнение используется в тех случаях, когда

  • SQL-операторы, которые должны быть выполнены, будут выполняться только один раз;
  • не требуется информации о результирующем множестве до выполнения оператора;

SQLExecDirect представляет собой самый быстрый способ запустить SQL-оператор при одноразовом выполнении.

RETCODE SQLExecDirect (hstmt, szSqlStr, cbSqlStr)

HSTMT hstmt- идентификатор оператора.

UCHAR szSqlStr- строка с SQL-оператором.

SDWORD cbSqlStr - длина строки szSqlStr.

Подготавливаемое выполнение предпочтительнее использовать, когда необходима информация о результирующем множестве до выполнения оператора или когда требуется выполнить SQL-оператор более одного раза. Для этого необходимы две функции SQLPrepare и SQLExecute.

SQLPrepare подготавливает SQL-строку для выполнения:

RETCODE SQLPrepare (hstmt, szSqlStr, cbSqlStr)

HSTMT hstmt - идентификатор оператора

UCHAR szSqlStr- строка с SQL-оператором

SDWORD cbSqlStr - длина строки szSqlStr

SQLExecute выполняет подготовленный оператор:

RETCODE SQLExecute(hstmt)

HSTMT hstmt - идентификатор оператора

SQLPrepare и SQLExecDirect отличаются тем, что при вызове SQLPrepare оператор SQL в действительности не выполняется, вместо этого определяется путь доступа к данным источника данных. Использование подготавливаемого выполнения удобно для операторов, которые будут выполняться более одного раза. Так как путь доступа к данным уже определен, то выполнение может осуществляться несколько быстрее, чем при использовании SQLExecDirect. Кроме того, каждый вызов SQLExecute передает базе данных только идентификатор для планирования обращения, а не весь SQL-оператор.

4. Использование параметров при выполнении

Параметры используются при непосредственном и подготавливаемом выполнении.


Начало  Назад  Вперед



Книжный магазин