Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
69_Web.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

6.3.3. Клас DataAdapter|

DataAdapter є сполучною ланкою між базою даних і DataSet. Точніше, він зв'язує БД і об'єкт DataTable, розташований усередині DataSet.

DataAdapter містить три основні методи, які дозволяють йому виконувати всі необхідні операції, пов'язані з витяганням і оновленням даних.

Fill

Виконання запиту типа Select, визначеного у властивості SelectCommand, і додавання таблиці, що отримується в результаті даного запиту, в DataSet.

FillSchema()

Виконання запиту типа Select, текст якого розташований у властивості SelectCommand, і додавання таблиці, яка містить тільки структуру даних, отриманих в результаті виконання запиту, в DataSet.

Update()

Застосовує всі зміни, внесені до DataTable, до джерела даних. При цьому виконуються команди вставки, оновлення і видалення, розташовані у властивостях InsertCommand, UpdateCommand, DeleteCommand.

Розглянемо приклад використання об'єктів DataSet і DataAdapte для витягання даних з БД, наповнення DataSet і відображення даних на сторінці Web-додатка|.

Перш за все, необхідно встановити підключення до джерела даних. Для цього потрібно використовувати рядок підключення, а також об'єкт Connection. У даному прикладі підключення відбуватиметься до бази даних Test_Db, розташованої на локальному сервері SQL Server Express 2005:

string strCon = "Server= .\SQLEXPRESS;Integrated Security =S SPI; Initial Catalog=Test_Db";

string sqlString = "SELECT| * FROM| Товари";

SqlConnection sqlCon = new SqlConnection(strCon);

Створимо об'єкт DataAdapter і передамо йому як параметри рядок запиту, а також рядок підключення до БД:

SqlDataAdapter da = new SqlDataAdapter (sqlString,sqlCon);

Тепер необхідно створити об'єкт DataSet і заповнити його даними за допомогою DataAdapter:

DataSet ds = new DataSet|();

da.Fill(ds, "Goods");

З наведеного вище прикладу видно, що метод Fill об'єкту da як параметри використовує ім'я об'єкту DataSet, куди необхідно помістити дані, виконання запиту, який визначений в рядку sqlString, що повертаються в результаті. У другому параметрі можна вказати ім'я, яке буде зіставлено з таблицею, створеною в DataSet. З прикладу видно, що в даному випадку не використовується явний виклик методу Open об'єкту Connection - даний метод викликається неявно при виконання методу Fill. Таким чином, DataAdapter спершу відкриває з'єднання з БД, потім виконує необхідні маніпуляції з даними, після чого закриває відкрите раніше з'єднання. Якщо по якихось причинах такий алгоритм взаємодії з базою даних потрібно змінити, необхідно до виклику методу Fill відкрити з'єднання з БД. В цьому випадку DataAdapter використовуватиме вже існуюче з'єднання.

Після того, як необхідний набір даних витягував з бази даних, його необхідно відображувати на Web-сторінці. Для цього можна скористатися способом, описаним раніше, при розгляді об'єкту DataReader. Проте в даному випадку набагато ефективнішого використання можна добитися із застосуванням можливостей прив'язки даних до візуальних об'єктів, здатних виводити дані на екран. Основна ідея, лежача в основі прив'язки даних, полягає в створенні зв'язку між об'єктом даних і елементом управління. Всю подальшу роботу, пов'язану з витяганням даних і виводом їх на екран, виконує ASP.NET Розгледимо основні способи прив'язки даних і особливості їх виводу на екран, реалізовані в різних елементах управління.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]