69088

ТЕХНОЛОГІЯ ДОСТУПУ ДО ДАНИХ ADO. NET. ОСНОВИ

Лекция

Информатика, кибернетика и программирование

Доступ до даних, що зберігаються в зовнішніх джерелах, з програмного коду здійснюється за компонентною технологією ADO (ActiveX Data Objects). Ця технологія призначена для спрощення доступу до даних з програм. Вона є розширенням технології зв’язування об’єктів OLE...

Украинкский

2014-09-29

934.86 KB

16 чел.

6

ЛЕКЦІЯ 8. ТЕХНОЛОГІЯ ДОСТУПУ ДО ДАНИХ ADO. NET. ОСНОВИ

План

8.1. Об’єктна модель ADO .NET

8.2. Створення бази даних MS SQL Server в середовищі Visual Studio

8.3. Візуальні засоби доступу до даних. Зв'язування форми з джерелом даних

8.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 базується  на використанні двох компонентів:

  1.  НАБОРУ ДАНИХ (представляється об'єктом класу DataSet) збоку клієнта. Це локальне тимчасове сховище даних;
  2.  ПРОВАЙДЕРА ДАНИХ (представляється об'єктом класу .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):

- класи приєднаних об'єктів забезпечують встановлення з'єднання з базою даних і управління базою даних збоку застосування. Потребують постійного зв’язку з базою; 

- класи від'єднаних об'єктів забезпечують збереження, використання і перетворення отриманої від бази даних інформації на стороні застосування.

Рис. 8.1 – Ієрархія класів ADO .Net

Загалом, класи ADO.NET призначені для виконання набору задач:

- встановити з'єднання з базою даних;

- створити і заповнити даними об'єкт DataSet;

- відключитися від сховища даних;

- внести зміни в дані в об'єкті DataSet

- знову встановити з'єднання з базою даних і повернути внесені зміни назад в сховище даних.

Всі класи  ADO .NET об'єднані в декілька просторів імен (табл.8.1).

Таблиця 8.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 і інші.

У складі Visual Studio 2008 є вбудований SQL Server 2005. Можна, також використовувати інші СКБД, такі як MS ACCESS, MySql, Oracle.

Працювати з базою даних можна з використанням візуальних засобів (майстрів) чи безпосередньо за допомогою програмування.

Далі ми розглянемо застосування технології на простих прикладах і почнемо з візуальних засобів роботи з ADO .Net.

Створимо базу даних LabDB і в ній таблицю Student.

8.2. Створення бази даних MS SQL Server в середовищі Visual Studio

Організація доступу до таблиць SQL EXPRESS візуальними засобами

1. Підключення до сервера БД

Головне меню View/Server Explorer відображає на екрані вікно серверів. Виділяємо вузол Data Connection, в контекстному меню вибираємо пункт Create New SQL Server Database (рис. 8.2).

Рис. 8.2. Підключення до сервера

Команди для візуальної роботи з різними джерелами даних зосереджені в меню Data.

2. Створення власної БД і таблиць

а) у вікні створення БД вибираємо сервер і вказуємо  назву БД: LabDB. У якості імені сервера вибираємо ім'я свого ПК і сервер SQLEXPRESS (рис. 8.3).

Використовуємо аутентифікацію Windows.

Рис. 8.3. Вибір сервера

б). В БД створюємо таблицю Student:

Для цього виділяємо вузол  Tables і вибираємо Add New Table (рис. 8.4).

Рис. 8.4. Створення таблиці в базі даних

В режимі конструктора створюємо потрібні поля, як показано на рис. 8.5. і зберігаємо таблицю під назвою Student.

Для введення даних у таблицю у вікні Server Explorer виділяємо вузол з назвою таблиці, в контекстному меню вибираємо Show Table Data.

Для зміни структури таблиці – вибираємо Open Table Definition.

Для внесення змін у таблицю на диску – вибираємо Refresh.

Для перегляду частини даних з таблиці за певним критерієм – вибираємо New Query.

Рис. 8.5. Контекстне меню для роботи з таблицею і структура створеної таблиці

Можна, також, користуватися меню Data (рис. 8.7).

Рис. 8.6. Меню додавання нової таблиці

3. Заповнення таблиці тестовими даними

Тепер, коли створена структура таблиці, в неї потрібно ввести деякі дані. Введемо дані про студентів у потрібні поля:

Student_ID  унікальний ідентифікатор студента (число);

St_Name – прізвище;

St_group – шифр групи;

St_rating – рейтинг (середній бал успішності).

Для введення даних у таблицю у вікні Server Explorer виділяємо вузол з назвою таблиці, з контекстного меню вибираємо Show Table Data. Вводимо дані. Даємо Refresh для фіксації змін у БД.

4. Створення Windows-застосунку (форми)

Тепер, коли  база даних і таблиця створені, заповнена деякими тестовими даними, можна створювати  програми для роботи з таблицею.

Перший приклад демонструє вибір з таблиці прізвищ студентів і відображення його у списку. Для цього:

a) Створюємо новий проект. Вибираємо тип Windows Form Application, В полі Name вказуємо назву проекту – WindowsFormLabDB.

б) Створюємо на формі список ListBox. В ньому будуть відображатися прізвища всіх студентів групи. Властивості Name призначаємо listStudents.

5. Зв'язування елементів форми з джерелом даних

а) Встановлюємо для списку джерело даних (властивість DataSource) (рис. 8.7).

Рис. 8.7. Зв'язування елементів форми з джерелом даних

З таблиці вибираємо тільки прізвище.

Завершуємо роботу майстра.

На формі в невидимій частині буде розміщено 3 компоненти: DataSet1, studentBindingSource, studentTableAdapter.

б) для відображення даних з таблиці у списку, властивості DisplayMember призначимо назву вибраного в набір поля (St_Name).

д) зберігаємо рішення і запускаємо на виконання без режиму відлагодження.

Рис. 8.8. Зв'язування списку з полем таблиці

Для перегляду джерела даних можна скористатися пунктом меню Data – ShowDataSource (рис. 8.9).

Рис. 8.9. Доступ до перегляду джерел даних з меню Data

7. Створення запитів до даних і їх відображення на формі у вигляді таблиці (Grid)

Для перегляду даних у вигляді таблиці можна скористатися компонентом  DataGridView.

Розмістимо на формі компонент типу DataGridView. У вікні задач DataGridView Tasks вибираємо AddProjectData Source...(рис. 8.10).

Рис. 8.10. Створення джерела даних для компонента DataGridView

Вибираємо нашу БД і всі поля з таблиці Student (рис. 8.11).

Рис. 8.11. Вибір полів з таблиці Student, які будуть виводитися в DataGridView

Збираємо Рішення і запускаємо на виконання. Як видно з рис. 8.12, у списку виводяться тільки прізвища, а в DataGridView всі поля.

Рис. 8.12. Результат роботи застосування

Змінимо заголовки колонок таблиці. Для цього виділимо DataGridView і під вікном властивостей виберемо посилання Edit Columns. У вікні Edit Columns по черзі вибираємо назви колонок і змінюємо для них властивості HeaderText.

Рис. 8.13. Зміна заголовків колонок в DataGridView

Висновки

Компонента модель ADO .Net розроблена для спрощення доступу до різних джерел даних з програм.  Ця модель містить дві групи об'єктів:

1. приєднані – які потребують постійного зв'язку з базой даних;

2. від'єднані – забезпечують роботу з даними в оперативній пам'яті програми.

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

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

Для доступу і маніпулювання даними загалом потрібно виконати таку послідовність дій:

- створити базу даних і таблиці в ній, заповнити їх тестовими даними (чи реальними). Ця дія не залежить від програми і може пропускатися, якщо база даних вже існує;

- створити форму з елементами керування, в які вибрані дані будуть виводитися з бази даних;

- встановити з'єднання з базою даних;

- створити і заповнити даними об'єкт DataSet;

- зв'язати об'єкт DataSet з елементами форми (списком), вказавши його у якості джерела даних для властивості DataSource;

- призначити властивості DisplayMember назву вибраного в набір поля.

Візуальні засоби дозволяють дуже швидко створювати прості застосування без програмування. Особливо це корисно для розробки прототипу застосунку.

Контрольні запитання і завдання

1. Об'єкт класу DataSet є приєднаним чи від'єднаним?

2. Об'єкт класу Data Adapter є приєднаним чи від'єднаним?

3. Які компоненти ADO .Net забезпечують доступ до бази даних?

4. Що таке sqlDataAdapter? Які функції він реалізує?

5.Яке призначення класу DataSet? Яка його структура і призначення?

6. Від'єднані об'єкти моделі ADO .NET та їх призначення?

7. Основні приєднані об'єкти моделі ADO .NET та їх призначення?

8. Яка властивість списку ListBox визначає джерело даних?

9. Яка властивість списку ListBox дозволяє відобразити вибрані дані у вигляді списку?

10. Як вивести дані у вигляді таблиці за допомогою компонента DataGridView?


 

А также другие работы, которые могут Вас заинтересовать

31887. Работа с формулами. Абсолютная и относительная адресация при работе с формулами 44.5 KB
  Вам необходимо определить стоимость каждой квартиры таким образом чтобы общая сумма полученных денег равнялась 7 млн. Известно что: дом 6ти этажный кирпичный; на каждом этаже по 4 квартиры 1но 2х 3х и 4х комнатные общей площадью 63; 90; 118; 146 соответственно; стоимость квартир зависит от этажа на первом и последнем дешевле; стоимость 1 м2 в центре Екатеринбурга 60. В ячейку G2 введите стоимость одного квадратного метра – 60. Выделите все ячейки связанные с суммами стоимость квартир и задайте Финансовый формат с двумя...
31888. Сердечно-легочная и церебральная реанимация 103 KB
  Проверить реакцию пострадавшего: аккуратно встряхнуть его за плечи и громко спросить Что с Вами€. Принять решение: если пострадавший реагирует – оставить его в том же положении попытаться выяснить причины происходящего и позвать на помощь регулярно оценивать состояние пострадавшего; если пострадавший не реагирует – громко позвать на помощь повернуть на спину и открыть дыхательные пути путем запрокидывания головы и подтягивания подбородка – рукой нужно надавить на лоб а другой рукой подтянуть подбородок. Альтернативный способ –...
31889. Русский язык и культура речи 247 KB
  ФОНЕТИЧЕСКИЙ УРОВЕНЬ Содержит задания отражающие проблемы связанные с нормами постановки ударения акцентологические нормы. СЛОВООБРАЗОВАТЕЛЬНЫЙ УРОВЕНЬ В заданиях необходимо найти ошибки допущенные при образовании слов и исправить их. ГРАММАТИЧЕСКИЙ УРОВЕНЬ В данном блоке представлен комплекс заданий на проверку знания морфологических норм нормы образования форм слов различных частей речи и синтаксических норм нормы употребления форм слов в словосочетании и предложении нормы построения предложений. ЛЕКСИЧЕСКИЙ УРОВЕНЬ Данный блок...
31890. ПЛАНЫ СЕМИНАРСКИХ ЗАНЯТИЙ И ТЕМЫ РЕФЕРАТОВ ПО ФИЛОСОФИИ 377.5 KB
  Горького Рассмотрены на заседании кафедры философии Протокол № 7 от 4 апреля 2005 г. Творческое усвоение студентами философии т. При творческом усвоении философии у студентов формируются следующие умения по различным блокам философского знания: историкофилософский блок: вычленять смысл философской системы: как в ней решаются вопросы метафизики антропологии гносеологии аксиологии культурологии социологии политологии праксиологии; определять педагогическую значимость той или иной философской системы и аргументировать ответ;...
31891. Методические рекомендации, планы семинарских занятий и темы контрольных работ по философии 198.5 KB
  Андреев Одобрены на заседании кафедры философии. кафедрой философии С. 2005 Введение При усвоении дисциплины студент должен иметь программу по философии в которой отражены цели задачи требования к уровню усвоения содержания дисциплины приведена основная и дополнительная литература по всем темам курса контрольные вопросы для подготовки к экзамену.
31892. Задания и методические указания для выполнения курсовых работ по дисциплине «Основы маркетинга» 77.5 KB
  Шапошников Одобрена на заседании кафедры менеджмента и маркетинга. Методические указания к написанию курсовой работы Главное условие успешного овладения студентами знаниями в области дисциплины Основы маркетинга заключается в самостоятельной систематической работе. При высоком уровне знаний проявленных при защите курсовой работы и другим контрольным мероприятиям а также на практических занятиях по дисциплине Основы маркетинга студент может быть освобожден от экзамена.
31893. Статистика. Задания к контрольным работам по дисциплине «Статистика» и методические указания для их выполнения 510 KB
  Группировкой называется расчленение множества единиц изучаемой совокупности на группы по определенным существенным для них признакам. Группировка выявляющая взаимосвязи между изучаемыми явлениями и их признаками называется аналитической группировкой. После определения признака положенного в основание группировки определяют количество групп на которые разбивают исследуемую совокупность. Число групп зависит от задач исследования типа группировки вида признака положенного в основание группировки численности совокупности степени вариации...
31894. ЭКОНОМИЧЕСКИЙ АНАЛИЗ 366.5 KB
  При изучении данной дисциплины и выполнении курсовой работы студенты должны быть знакомы с вопросами экономической статистики экономики предприятия бухгалтерского учета финансов предприятия изучаемыми на предыдущих курсах. Объектом изучения дисциплины выступает финансовохозяйственная деятельность предприятия соответственно курсовая работа направлена на выявление проблем в финансовохозяйственной деятельности определение резервов использования ресурсов и формулирование мероприятий по их реализации. Цель курсовой работы по дисциплине...