Высокоуровневые методы информатики и программирования. Тузовский А.Ф. - 187 стр.

UptoLike

Составители: 

187
SELECT EmpId, Title, FirstName, LastName
FROM Employees WHERE (Title = @Title)
SqlParameter parameter = new SqlParameter();
parameter.ParameterName = "@Title";
parameter.SqlDbType = SqlDbType.NVarChar;
parameter.Direction = ParameterDirection.Input;
Порядок работы с объектами Command
Для выполнения команды к БД нужно создать объект класса
Command. И задать значения его параметров. Для исполнения оператора
SQL свойству CommandType нужно задать значение перечисления
CommandType.Text, для исполнения хранимой процедуры свойству
CommandType нужно задать значение CommandType.Stored-
Procedure. Свойству CommandText нужно задать строку оператора
SQL или имя хранимой процедуры, соответственно.
Для выполнения с помощью объекта Command команд, не возвра-
щающующих значений (операторы INSERT, UPDATE и DELETE, а также
операторы DDL, такие, как CREATE TABLE и ALTER) нужно вызвать ме-
тод Command.ExecuteNonQuery(), например:
// одинаково, как для OleDbCommand, так и SqlCommand
myCommand.ExecuteNonQuery();
Для выполнения команды с помощью объекта Command, возвра-
щающей единственное значение необходимо вызвать метод
Command.ExecuteScalar(), например, так:
// одинаково, как для OleDbCommand, так и SqlCommand
Object o = myCommand.ExecuteNonScalar();
Для выполнения команды, результатом работы которой является
набор записей, используется метод ExecuteReader(), возвращающий
объект DataReader. Данный объект обеспечивает быстрое и эффектив-
ное последовательное чтение данных от первой к последней записи.
Объект DataReader позволяет перебирать записи полученной выборки,
передавая нужные значения напрямую коду приложения. При этом объ-
ект DataReader намного эффективнее, но менее гибок, в сравнении с
DataSet. Данные, полученные через объект DataReader, доступны
только для чтения, поэтому их нельзя модифицировать средствами
DataReader. При этом данные разрешается просматривать только в
одном направлении: нельзя вернуться к записи, прочитанной ранее.
Кроме того, объект DataReader ориентирован на использование посто-
янных соединений и, пока он существует, требует монопольного досту-
па к активному соединению.