Работа с объектами команд

Работа с объектами команд

Теперь, когда вы понимаете роль объекта соединения, мы выясним, как предъявить SQL-запрос базе данных. Тип SqlCommand (который получается из DbCommand) является объектом представлением SQL-запроса, имени таблицы или хранимой процедуры. Вид соответствующей команды указывается c помощью свойства CommandTyре, которое может принимать любое значение из перечня CommandType.

public enum System.Data.CommandType {

 StoredProcedure,

 TableDirect,

 Text // Значение, используемое по умолчанию.

}

При создании объекта команды вы можете указать SQL-запрос или в качестве параметра конструктора, или напрямую через свойство CommandText. Также при создании объекта команд вы должны указать соединение, которое будет при этом использоваться. Это можно сделать либо через параметр конструктора, либо с помощью свойства Connection.

static void Main(string[] args) {

 SqlConnection cn = new SqlConnection();

 …

 // Создание объекта команды с помощью аргументов конструктора.

 string strSQL = "Select * From Inventory";

 SqlCommand myCommand = new SqlCommand(strSQL, cn);

 // Создание другого объекта команды с помощью свойств.

 SqlCommand testCommand = new SqlCommand();

 testCommand.Connection = cn;

 testCommand.CommandText = strSQL;

 …

}

Следует понимать, что в этот момент вы еще не предъявляете SQL-запрос базе данных Cars непосредственно, а только подготавливаете объект команды для использования в будущем. В табл. 22.7 приводятся описания еще нескольких членов типа DbCommand.

Таблица 22.7. Члены типа DbCommand

Член Описание
CommandTimeout Читает или устанавливает значение времени ожидания выполнения команды, прежде чем будет сгенерировано сообщение об ошибке. Значением по умолчанию является 30 секунд
Connection Читает или устанавливает значение DbConnection, которое используется данным экземпляром DbCommand
Parameters Получает коллекцию типов DbParameter, используемых для параметризованного запроса
Cancel() Отменяет выполнение команды
ExecuteReader() Возвращает объект DbDataReader поставщика данных для доступа к соответствующим данным режиме однонаправленного чтения
ExecuteNonQuery() Направляет текст команды в хранилище данных
ExecuteScalar() "Облегченная" версия метода ExecuteNonQuery(), предназначенная специально для запросов, возвращающих одиночные данные (например, как при запросе числа записей)
ExecuteXmlReader() В Microsoft SQL Server (2000 и более поздних версий) допускается возможность возвращения набора результатов в формате XML. Данный метод возвращает System.Xml.XmlReader, который позволяет обработать поступающий XML-поток
Prepare() Создает подготовленную (или скомпилированную) версию команды для источника данных. Вы, возможно, знаете, что готовый к использованию запрос выполняется быстрее, и это оказывается важно тогда, когда один и тот же запрос требуется выполнять многократно

Замечание. Позже в этой главе будет показано, что в .NET 2.0 у объекта SqlCommand появилось несколько дополнительных членов, упрощающих задачу асинхронного взаимодействия с базами данных.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Завершение построения модели: работа с объектами

Из книги Домашний архитектор. Подготовка к ремонту и строительству на компьютере автора Булат Виталий

Завершение построения модели: работа с объектами Любой дом невозможен без крыши и практически не обходится без подвальных помещений и лестниц. Этот раздел продолжит рассмотрение примера, начатого ранее, и послужит руководством для использования перечисленных объектов


Практическая работа 53. Запуск Access. Работа с объектами базы данных

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

Практическая работа 53. Запуск Access. Работа с объектами базы данных Задание. Ознакомиться с окном программы Access. Запустить и рассмотреть учебную базу данных. ВНИМАНИЕ При выполнении задания помните, что все внесенные в базу данных изменения записываются немедленно и их


Работа с MBV-объектами

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Работа с MBV-объектами Наши первые приложения удаленного взаимодействия позволяли доступ клиентов к одному WKO-типу. Напомним, что WKO-типы (по определению) являются MBR-типами, поэтому доступ клиента к ним осуществляется через агента-посредника. В противоположность этому,


Работа с объектами соединения

Из книги ArCon. Дизайн интерьеров и архитектурное моделирование для всех автора Кидрук Максим Иванович

Работа с объектами соединения Первым шагом в работе с поставщиком данных является создание соединения с источником данных, для чего мы используем объект соединения (который, как вы помните, получается из Disconnection). Типы соединения .NET получают на вход форматированную


Работа с объектами чтения данных

Из книги Adobe InDesign CS3 автора Завгородний Владимир

Работа с объектами чтения данных После создания активного соединения и SQL-команды следующим шагом является предъявление запроса источнику данных. Как вы, наверное, догадываетесь, это можно сделать несколькими способами. Тип DbDataReader (реализующий IDataReader) обеспечивает самый


Работа с объектами параметризованных команд

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Работа с объектами параметризованных команд Показанная выше программная логика вставки, обновления и удаления работает так, как и ожидается, однако обратите внимание на то, что каждый из SQL-запросов здесь представлен "жестко" закодированными строковыми литералами. Вы,


Глава 4 Режим конструирования и работа с объектами

Из книги Справочник по PHP автора

Глава 4 Режим конструирования и работа с объектами • Дополнительные объекты конструирования• Воспроизведение окружающего рельефа• Создание сечений• Итог: расширенный порядок построения модели дома в ArConИз предыдущей главы вы смогли узнать, с чего нужно начинать


Глава 11 Работа с объектами

Из книги VBA для чайников автора Каммингс Стив

Глава 11 Работа с объектами Теперь, когда мы научились создавать объекты Adobe InDesign, поговорим о том, что с ними делать. Этот разговор вынесен в отдельную главу по очень простой причине: все операции по перемещению, трансформации, копированию выполняются, по сути, одинаково


Работа с объектами и ссылками

Из книги Macromedia Flash Professional 8. Графика и анимация автора Дронов В. А.

Работа с объектами и ссылками Вернемся к более приземленным проблемам и рассмотрим, как программные системы работают с объектами, как создают и используют гибкие структуры данных.


Работа с утилизированными объектами

Из книги Защита от хакеров корпоративных сетей автора Автор неизвестен

Работа с утилизированными объектами Для реализации fresh и recycle, можно среди других возможных вариантов представить available как стек: fresh будет удалять элемент из стека, а recycle будет помещать элемент в стек. Создадим класс STACK_OF_LINKABLES для этого случая и добавим следующие


Из PHP в Excel: работа с COM-объектами

Из книги CorelDRAW X4. Начали! автора Жвалевский Андрей Валентинович

Из PHP в Excel: работа с COM-объектами Данная серия статей посвящена созданию документов Excel при помощи PHP. Данная возможнось может понадобиться, например, если нужно предоставить пользователю загружаемые данные в виде листов Excel. Это могут быть прайсы на продукцию,


Работа с объектами и их экземплярами

Из книги автора

Работа с объектами и их экземплярами Перед тем как начать работу с экземпляром какого-либо объекта, его нужно создать. Создание экземпляра объекта выполняется с помощью оператора new: <Переменная> = new <Имя объекта>([<Список параметров, разделенных запятыми>]) После


Переадресация команд: применение переадресации команд для непосредственного выполнения скриптов и каналов

Из книги автора

Переадресация команд: применение переадресации команд для непосредственного выполнения скриптов и каналов Переадресация (перенаправление) команд – одна из наиболее полезных возможностей протокола SSH. Она вытекает из его основополагающих принципов построения, когда


Глава 8 Работа с растровыми объектами

Из книги автора

Глава 8 Работа с растровыми объектами Мы убеждены, что растровые объекты лучше всего обрабатывать в редакторах растровой графики и только после этого использовать их в CorelDRAW. Частично эту мысль разделяют и разработчики программы, потому что простейшее действие со