Навігація
Головна
 
Головна arrow Інформатика arrow Об'єктно-орієнтоване програмування
< Попередня   ЗМІСТ   Наступна >

СТВОРЕННЯ ОБ'ЄКТА DATAREADER

Об'єкт DataReader створюється за допомогою виклику методу ExecuteReader () об'єкта Command. наприклад:

// повинен бути об'єкт mySqlCommand

System.Data. SqlClient.SqlDataReader mySqlReader;

mySqlReader = mySqlCommand.ExecuteReader ();

При виклику методу ExecuteReader () об'єкт Command виконує подану ним команду і створює об'єкт DataReader відповідного типу, який можна записати в змінну посилального типу.

ДОСТУП ДО ДАНИХ ЗА ДОПОМОГОЮ ОБ'ЄКТА DATAREADER

Отримавши посилання на об'єкт DataReader, можна переглядати записи, завантажуючи потрібні дані в пам'ять. У нового об'єкта DataReader покажчик читання встановлюється на перший запис отриманої вибірки. Щоб зробити її доступною, слід викликати метод Read (). Якщо запис доступна, метод Read () переводить покажчик об'єкта DataReader до наступного запису і повертає True, в іншому випадку метод Read () повертає значення false. Тоді перебір всіх записів отриманої вибірки в циклі while може бути виконаний таким чином:

while (myDataReader.Read ())

{

// Цей код буде одноразово виконаний // для кожного запису отриманої вибірки.

}

При читанні записи за допомогою об'єкта DataReader значення окремих полів доступні через індексатор класу, до елементів которо-

го можна звертатися по числовому індексом або по імені поля, наприклад:

while (myDataReader.Read ()) {

object myObject = myDataReader [3];

object myOtherObject = myDataReadeif'CustomerlD "];

}

В даному випадку DataReader надає всі значення у вигляді елементів типу object, хоча за допомогою DataReader можна отримувати і типізовані дані. Після виконання даного циклу слід викликати метод Close (), щоб закрити DataReader, в іншому випадку об'єкт DataReader буде утримувати монопольний доступ до активного з'єднання, зробивши його недоступним іншим об'єктам: myDataReader.Close ();

Наступний приклад демонструє перебір записів отриманої вибірки записів для виведення вмісту одного з стовпців у вікні Console. Цей приклад передбачає наявність об'єкта OleDbCommand з ім'ям myOleDbCommand, властивість Connection якого визначає з'єднання з ім'ям myConnection:

// Відкрити активне з'єднання, myConnection.Ореп ();

// Створити об'єкт DataReader

System.Data.OleDb.OleDbDataReader myReader;

myReader = myOleDbCommand.ExecuteReader ();

// Викликати метод Read перед спробою читання даних,

while (myReader.Read ()) {

// Отримати доступ до поля можна по імені

Console.WriteLine (myReader [ "Customers"]. ToString ());

}

myReader.Close (); // закриваємо DataReader myConnection.Close;

// закриваємо з'єднання

ВИТЯГ ТИПІЗОВАНИХ ДАНИХ ЗА ДОПОМОГОЮ DATAREADER

Об'єкти класу DataReader не тільки надають дані типу object, а й дозволяють витягати з отриманої вибірки і дані інших типів за допомогою спеціальних методів. Імена цих методів утворюються з префікса Get і імені типу видобутих даних. Наприклад, метод, який видобуває значення типу Boolean, названий GetBoolean (). наприклад:

string myString = myDataReader.GetBoolean (3);

При використанні такого способу отримання інформації потрібно вказувати порядковий номер, а не ім'я поля. Якщо відомо тільки ім'я поля, можна визначити його порядковий номер, викликавши метод GetOrdinal (), наприклад: int CustomerlD; string Customer:

CustomerlD = myDataReader.GetOrdinal ( "CustomerID");

Customer = myDataReader.GetString (CustomerID);

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук