Объект Command
Объект Command можно создавать независимо от ранее созданных объектов Connection, определив его свойство ActiveConnection в строке команды. Когда ADO создает объект Connection, он не устанавливает соответствие между этим объектом и переменными объекта. Кроме того, когда ставится в соответствие составной объект Command соединению, необходимо отдельно создать и открыть объект Connection; это назначит свойство для переменной объекта. Если не установить свойство ActiveConnectionобъекта Command в переменную объекта, то ADO создаст новый объект Connection для каждого объекта Command, даже при использовании той же строчки. Объекты Command используются для получения записей и создания объектов Recordset, для выполнения больших операций или для изменения структуры БД. Используя коллекции, методы и свойства объекта Command можно производить следующие действия:
- указывать на установленное соединение и объект Command с помощью свойства ActiveConnection;
- определять тип команды (например, SQL-предложение), используя свойство CommandText;
- устанавливать время задержки выполнения команды, используя свойство CommandTimeout;
- с помощью свойства CommandType определять тип команды, описанной в свойстве CommandText для определения приоритета выполнения;
- с помощью свойства Preparedопределять, установлен ли приоритет выполнения команд;
- с помощью коллекции Parametersуправлять аргументами, передаваемыми провайдеру и получаемыми от него;
- выполнять команды и возвращать объект Recordset, используя метод Execute.
Объект Command содержит коллекцию Parameters. Используя метод Refresh коллекции Parameters можно получить информацию о параметрах хранящихся процедур или для параметризации запроса, определенным в объекте Command. Если не определен объект Parameter и обращение идет к коллекции Parameters перед вызовом метода Refresh, то ADO автоматически вызывает этот метод и заполняет коллекцию Parameters. Зная имена свойств параметров хранимой процедуры или параметризированного запроса, который нужно вызвать, можно создать объекты Parameter с соответствующими свойствами и, используя метод Append, добавить их в коллекцию Parameters. Это позволит устанавливать и возвращать значения параметров без вызова метода Refreshдля коллекции Parameters для получения от провайдера информации о параметрах. Для удаления объектов Parameter из коллекции Parameters используется метод Delete.
Используя различные коллекции, методы и свойства объектов Parameter можно выполнять следующее:
- устанавливать или возвращать имя параметра, используя свойство Name;
- устанавливать или возвращать значение параметра, используя свойство Value;
- устанавливать или возвращать характеристики параметров, используя свойства Attributes и Direction, Precision, NumericScale, Size и Type;
- используя метод AppendChunk можно посылать параметру длинные двоичные или текстовые данные.
Для обращения к объекту Parameter по его порядковому номеру или имени можно использовать следующие варианты:
command.Parameters(0) command.Parameters("name") command(0) command("name") command![name]