Немедленное выполнение хорошо, когда вы
Эти четыре метода имеют "за" и "против". Немедленное выполнение хорошо, когда вы выполняете специфическую инструкцию SQL только однажды. Если бы вы должны были выполнить инструкцию несколько раз последовательно, то вам лучше было бы использовать подготовленное выполнение, потому что инструкция SQL будет откомпилирована лишь однажды. В этом случае последовательное выполнение, будет быстрее, потому что инструкция уже откомпилирована. Процедуры - лучший выбор, если вы хотите оптимизации по скорости. Поскольку процедуры уже откомпилированы и сохранены в источнике данных, они выполняются довольно быстро. Плохо то, что не все данные поддерживают процедуры. Каталог - для получения информации относительно строения источника данных.
На данной консультации, мы сосредоточимся на немедленном и подготовленном выполнении, потому что они выполняются на стороне нашего приложения. Запись процедур осуществляется в DBMS формате. Мы используем функции каталога в будущем.
НЕМЕДЛЕННОЕ ВЫПОЛНЕНИЕ
Чтобы выполнить вашу инструкцию SQL немедленно, вызовите функцию SQLEхесDirect, которая имеет следующий синтаксис: SQLExecDirect proto StatementHandle:DWORD, pStatementText:DWORD, TextLength:DWORD
StatementHandle. Идентификатор инструкции которую вы хотите выполнить PStatementText. Указатель на строку SQL которую вы хотите выполнить TextLength. Длина строки SQL.
Возможные возвращаемые значения:
SQL_SUCCESS |
Операция успешна. |
SQL_SUCCESS_WITH_INFO |
Операция успешна, но может быть предупреждение. |
SQL_ERROR |
Операция потерпела неудачу. |
SQL_INVALID_HANDLE |
Операторный идентификатор , который вы передали функции, был недействителен. |
SQL_NEED_DATA |
Если инструкция SQL включает один или большее количество параметров, и вы не сумели передать их ей перед выполнением, вы получите это возвращаемое значение. В этом случае вы должны представить параметры через SQLPARAMDATA или SQLPUTDATA. |
SQL_NO_DATA |
Если ваша инструкция SQL не возвращает результата, то вы получите этот параметр. Если этот параметр получен, то ваша функция выполнена успешно но она не возвращает никаких результатов. |
SQL_STILL_EXECUTING |
Если вы выполняете инструкцию асинхронно, SQLExecDirect немедленно возвращает это значение, указывая, что инструкция обрабатывается. По умолчанию, ODBC драйверы работают в синхронном режиме, который является наилучшим, если вы используете параллельные процессы OS. Если вы хотите асинхронного выполнения, вы можете установить операторный атрибут с SQLSETSTMTATTR. |
<
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий