Мониторинг обменных курсов валют
18c0693f

Выполнение SQL-выражений


В выполнении SQL-выражений ADO проявляют чрезвычайную гибкость. SQL-выражение можно выполнить с любым их трех объектов (Connection. Command и RecordSet). Каждый из них имеет свои преимущества и недостатки. Проведем их сравнительный анализ.

Запрос с помощью объекта Connection

Первый способ выполнить SQL-выражение — использовать метод Execute объекта Connection.

ADOConn.Execute "SELECT * FROM Products", numRecords, adCmdText

Второй (необязательный) аргумент указывает количество записей, затронутых запросом действия или возвращаемых запросом выбора. Последний аргумент (не обязательный) определяет, является первый аргумент SQL-выражением (aCmdText) или сохраненной процедурой (aCmdStoredProc).

Запрос с помощью объекта Command

Второй способ — создание объекта Command и вызов его метода Execute Объект Command содержит множество свойств. Но указать необходимо хотя бы свойства ActiveConnection (Текущее соединение) и CommandText (Текст ко­манды), как показано в следующем примере.

With ADOConn

.ActiveConnection = connectString

.CommandText = "SELECT * FROM Products", _

numRecords, adCmdText

.Execute

End With

Запрос с использованием объекта RecordSet

Наконец, можно использовать метод Open объекта RecordSet:

ADORSet.Open SQLStatement, connectString, RecordsetType, _

  LockType, CommandType

Аргумент

RecordType задает тип объекта RecordSet и имеет одно из следующих значений:

• adOpenDynamic;

• adOpenForwardOnly;

•  adOpenKeyset;

•  adOpenStatic.

Примечание

Объекты RecordSet этих типов объясняются в следующем параграфе.

Аргумент

LockType задает тип блокировки при обращении к базе данных нескольких пользователей одновременно. Его значением могут быть:

•  adLockBatchOptimistic;

•  adLockOptimistic;

•   adLockPessimistic;

• adLockReadOnly.

Примечание

Управление блокировкой и его типы в следующем параграфе рассмотрены подробнее.

Создадим объект RecordSet с использованием простого SQL-выражения.

Set ADORSet = "SELECT * FROM Products", connectString, _

adOpenForwardOnly, adLockReadOnly, adCmdText

Если необходимо выполнить SQL-выражение, оказывающее воздействие на большое количество записей или сохраненных процедур, то необходимо использовать объект Command. Он не создает курсор

(см. следующий параграф), и является един­ственным механизмом задания параметров. Избегайте использования SQL-выражений, выполняемых с помощью объекта RecordSet. Этот объект разрабатывался для приема наборов записей, а не для их создания. Кроме того, только объект Command поддерживает транзакции. Так что если требуется выполнить запрос на действие (который реализуется как транзакция), необходимо использовать объект Command.






Самый выгодный курс обмена валюты