Способы создания команд
Известно три способа создания команд для манипулирования данными:
- объявление и создание объекта команды непосредственно в программном коде с последующей настройкой этого объекта вручную. Следующие фрагменты кода демонстрируют этот способ: string cs = @"Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @"F:\SharpUser\CS.book\Rolls.db"; OleDbConnection cn = new OleDbConnection(cs); cn.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = cn; // Объект "Соединение" цепляется к команде!
Либо так:string cs = @"Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @"F:\SharpUser\CS.book\Rolls.db"; OleDbConnection cn = new OleDbConnection(cs); cn.Open(); OleDbCommand cmd = cn.CreateCommand();// Команда создается соединением!
Оба типа объектов "Команда" (SqlCommand и OleDbCommand) поддерживают три метода, которые позволяют исполнять представляемую команду:
- ExecuteNonQuery – применяется для выполнения команд SQL и хранимых процедур, таких как INCERT, UPDATE, DELETE. С помощью этого метода также выполняются команды DDL – CREATE, ALTER. Не возвращает никаких значений.
- ExecuteScalar – обеспечивает выбор строк из таблицы БД. Возвращает значение первого поля первой строки, независимо от общего количества выбранных строк.
- ExecuteReader – обеспечивает выбор строк из таблицы БД. Возвращает неизменяемый объект DataReader, который допускает последовательный однонаправленный просмотр извлеченных данных без использования объекта DataAdapter.
Кроме того, класс SqlCommand поддерживает еще один метод:
- ExecuteXmlReader – обеспечивает выбор строк из таблицы БД в формате XML. Возвращает неизменяемый объект XMLReader, который допускает последовательный однонаправленный просмотр извлеченных данных.
Назначение всех четырех методов – ИСПОЛНЕНИЕ НА ИСТОЧНИКЕ ДАННЫХ команды, представленной объектом команды.