ТЕХНОЛОГІЯ ADO .NET
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи № 6
з дисципліни «Крос-платформенне програмування та хмарні сервіси»
для магістрів галузі знань 12 «Інформаційні технології»
спеціальності 124 «Системний аналіз»
спеціалізації «Системи і методи прийняття рішень»
Затверджено
на засіданні кафедри інформаційних систем та мереж
Протокол №01 від 25.08.2016 р.
Львів-2016
Технологія ADO .Net: Методичні вказівки до лабораторної роботи № 6 / Укл.: В.А. Висоцька, Л.В. Чирун. – Львів: Видавництво Національного університету ”Львівська політехніка”, 2016. – 28 с.
Укладачі Висоцька В.А., к.т.н., доцент
Чирун Л.В., к.т.н, доцент
Відповідальний за випуск Литвин В.В., д.т.н., професор.
Рецензенти Берко А.Ю., д.т.н., професор.
Верес О.М., к.т.н, доцент.
Метою роботи є
1. Створення бази даних в середовищі VS 2008
2. Організація доступу до таблиць SQLEXPRESS 2008 візуальними засобами
3. Створення програмного застосунку для роботи з базою даних, використовуючи приєднані об'єкти.
4. Створення програмного застосунку для роботи з базою данихзвикористанням DataSet.
Теоретичні відомості
- ТЕХНОЛОГІЯ ДОСТУПУ ДО ДАНИХ ADO. NET. ОСНОВИ
1.1 Об’єктна модель ADO .NET
Доступ до даних, що зберігаються в зовнішніх джерелах, з програмного коду здійснюється за компонентною технологією ADO (ActiveX Data Objects). Ця технологія призначена для спрощення доступу до даних з програм. Вона є розширенням технології зв’язування об’єктів OLE (Object Linking and Embedding), яка використовується на платформі Windows (компонентна модель COM). Нова технологія ADO .NET спеціально розроблена для роботи з даними на платформі .NET Framework.
Модель об’єктів ADO .NET (ActiveX Data Objects .NET) – це набір класів, що реалізують програмні інтерфейси для полегшення підключення до баз даних та інших джерел даних.
Концепція доступу до даних в ADO .NET базується на використанні двох компонентів:
- НАБОРУ ДАНИХ (представляється об'єктом класу DataSet) збоку клієнта. Це локальне тимчасове сховище даних;
- ПРОВАЙДЕРА ДАНИХ (представляється об'єктом класу .Net data provider). Це посередник, що забезпечує взаємодію програми і бази даних збоку бази даних (в розподілених застосуваннях – збоку сервера).
Клас DataSet це центральний компонент, який використовується для доступу до даних незалежно від джерела. Цей об'єкт містить об'єкти DataTable, які складаються з колонок і стовпців, а також первинного ключа, зовнішнього ключа, обмежень, інформації про зв’язки між таблицями тощо.
Компонент .Net data providerмістить об'єкти, які явно розроблялися для найбільш ефективного доступу до баз даних. Об'єкт Connection забезпечує зв'язок з джерелом даних, об'єкт Command використовується для повернення даних. Об'єкт DataReader забезпечує потік даних з джерела, а DataAdapter - це міст між об'єктом DataSet і джерелом даних.
ADO .NET підтримує два типи джерел даних, і відповідно, дві множини класів:
SQL Managed Provider (SQL Server.NET Data Provider) – для роботи з Microsoft SQL Server 7.0 і вище;
ADO Managed Provider (OleDb.NET Data Provider) – для решти баз даних. Забезпечує роботу з довільними базами даних.
В об'єктній моделі ADO .NET є дві групи класів, що виконують чітко визначені задачі при роботі з базою даних (рис. 8.1):
- класи приєднаних об'єктів забезпечують встановлення з'єднання з базою даних і управління базою даних збоку застосування. Потребують постійного зв’язку з базою;
- класи від'єднаних об'єктів забезпечують збереження, використання і перетворення отриманої від бази даних інформації на стороні застосування.
Загалом, класи ADO.NET призначені для виконання набору задач:
- встановити з'єднання з базою даних;
- створити і заповнити даними об'єкт DataSet;
- відключитися від сховища даних;
- внести зміни в дані в об'єкті DataSet
- знову встановити з'єднання з базою даних і повернути внесені зміни назад в сховище даних.
Всі класи ADO .NET об'єднані в декілька просторів імен (табл.1.1).
Таблиця 1.1. Простори імен для роботи з даними
Простір імен | Призначення |
System.Data | Головний простір імен (ядро ADO .NET). містить класи, необхідні для зв'язку за допомогою будь-яких провайдерів даних. Ці класи представляють таблиці, рядки, стовпці, DataSet (набір взаємозв'язаних таблиць). Там визначені інтерфейси з'єднань з базами даних, команд, адаптерів даних. |
System.Data.Common | Базові класи для всіх провайдерів даних DbConnection, DbCommand, DbDataAdapter. |
System.Data.OleDb | Класи, що дозволяють працювати з джерелами даних OleDb, у тому числі з MS SQL версії 6.0 і нижче. Там знаходяться такі класи, як OleDbConnection, OleDbDataAdapter і OleDbCommand. |
System.Data.SqlClient | Класи для MS SQL Server 7 і вище. Містить класи SqlConnection, SqlTransaction, SqlCommand і інші. |
У складі VisualStudio 2008 є вбудований SQLServer 2005. Можна, також використовувати інші СКБД, такі як MSACCESS, MySql, Oracle.
Працюватиз базою даних можна з використанням візуальних засобів (майстрів) чи безпосередньо за допомогою програмування.
Далі ми розглянемо застосування технології на простих прикладах і почнемо з візуальних засобів роботи з ADO .Net.
Створимо базу даних LabDB і в ній таблицю Student.
1.2. Створення бази даних MS SQL Server в середовищі Visual Studio
Організація доступу до таблиць SQLEXPRESSвізуальними засобами
1. Підключення до сервера БД
Головне меню View/ServerExplorer відображає на екрані вікно серверів. Виділяємо вузол DataConnection, в контекстному меню вибираємо пункт CreateNewSQLServerDatabase (рис. 1.2).
Команди для візуальної роботи з різними джерелами даних зосереджені в меню Data.
2. Створення власної БД і таблиць
а) у вікні створення БД вибираємо сервер і вказуємо назву БД: LabDB. У якості імені сервера вибираємо ім'я свого ПК і сервер SQLEXPRESS (рис. 1.3).
Використовуємо аутентифікацію Windows.
б). В БД створюємо таблицю Student:
Для цього виділяємо вузол Tables і вибираємо AddNewTable (рис. 1.4).
В режимі конструктора створюємо потрібні поля, як показано на рис. 1.5. і зберігаємо таблицю під назвою Student.
Для введення даних у таблицю у вікні Server Explorer виділяємо вузол з назвою таблиці, в контекстному меню вибираємо Show Table Data.
Для зміни структури таблиці – вибираємо Open Table Definition.
Для внесення змін у таблицю на диску – вибираємо Refresh.
Для перегляду частини даних з таблиці за певним критерієм – вибираємо New Query.
Можна, також, користуватися меню Data (рис. 1.7).
3. Заповнення таблиці тестовими даними
Тепер, коли створена структура таблиці, в неї потрібно ввести деякі дані. Введемо дані про студентів у потрібні поля:
Student_ID унікальний ідентифікатор студента (число);
St_Name – прізвище;
St_group – шифр групи;
St_rating – рейтинг (середній бал успішності).
Для введення даних у таблицю у вікні Server Explorer виділяємо вузол з назвою таблиці, з контекстного меню вибираємо Show Table Data. Вводимо дані. Даємо Refresh для фіксації змін у БД.
4. Створення Windows-застосунку (форми)
Тепер, коли база даних і таблиця створені, заповнена деякими тестовими даними, можна створювати програми для роботи з таблицею.
Перший приклад демонструє вибір з таблиці прізвищ студентів і відображення його у списку. Для цього:
a) Створюємо новий проект. Вибираємо тип WindowsFormApplication, В полі Name вказуємо назву проекту – WindowsFormLabDB.
б) Створюємо на формі список ListBox. В ньому будуть відображатися прізвища всіх студентів групи. Властивості Nameпризначаємо listStudents.
5. Зв'язування елементів форми з джерелом даних
а) Встановлюємо для списку джерело даних (властивість DataSource) (рис. 1.7).
З таблиці вибираємо тільки прізвище.
Завершуємо роботу майстра.
На формі в невидимій частині буде розміщено 3 компоненти: DataSet1, studentBindingSource, studentTableAdapter.
б) для відображення даних з таблиці у списку, властивості DisplayMemberпризначимо назву вибраного в набір поля (St_Name).
д) зберігаємо рішення і запускаємо на виконання без режиму відлагодження.
(Для ознайомлення з повним текстом статті необхідно залогінитись)