Технология Microsoft ADO.NET


Методы ExecuteNonQuery, ExecuteScalar и ExecuteReader объекта Command - часть 5


Запускаем приложение4) - получаем несколько значений из базы данных (рис. 6.18):

 Приложение ExampleExecuteScalar, вывод нескольких значений

Рис. 6.18.  Приложение ExampleExecuteScalar, вывод нескольких значений

Когда требуется получать подобные одиночные значения, всегда следует применять метод ExecuteScalar - это позволяет значительно повысить производительность.

В программном обеспечении к курсу вы найдете приложение Example ExecuteScalar (Code\Glava3\ ExampleExecuteScalar).

Мы переходим к рассмотрению очень важного метода - ExecuteReader. Он применяется для получения набора записей из базы данных. Особенностью этого метода является то, что он возвращает специальный объект DataReader, с помощью которого просматриваются записи. Для хранения данных, полученных из базы, мы до этого использовали объект DataSet. Объект DataReader, в отличие от DataSet, требует наличия постоянного подключения для извлечения и просмотра данных, кроме того, он открывает данные только для чтения. Создайте новое консольное приложение и назовите его "ExampleExecuteReader". Полный листинг этого приложения:

using System; using System.Data.SqlClient;

namespace ExampleExecuteReader { class Class1 { [STAThread] static void Main(string[] args) { SqlConnection conn = new SqlConnection(); conn.ConnectionString = "integrated security=SSPI;data source=\".\"; persist security info=False; initial catalog=BDTur_firm2"; SqlCommand myCommand = conn.CreateCommand(); //SqlCommand myCommand = new SqlCommand(); //myCommand.Connection = conn; myCommand.CommandText = "SELECT * FROM Туристы"; conn.Open(); SqlDataReader dataReader = myCommand.ExecuteReader();

while (dataReader.Read()) { Console.WriteLine(dataReader["Фамилия"]); } dataReader.Close(); conn.Close(); } } }

Объект dataReader создается в результате вызова метода Execute Reader объекта myCommand:

SqlDataReader dataReader = myCommand.ExecuteReader();

Перед считыванием первой записи вызываем метод Read объекта dataReader и выводим набор записей в консольное окно.


Начало  Назад  Вперед



Книжный магазин