33161

ADO.NET

Лекция

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

Создать таблицу, связанную с таблицей элемента контейнера отношением «один ко многим» (Например, если таблицей для хранения элементов контейнера является таблица Книга, то связанная с ней отношением «один ко многим» может быть таблица АвторКниги, т.к. один автор может написать много книг).

Русский

2014-08-21

96 KB

5 чел.

Лабораторная работа № 4

ADO.NET

по курсу «Компонентные технологии программного обеспечения»

  1.  Цель работы

Изучить архитектуру и возможности библиотеки ADO.NET.

Познакомиться с технологией Data Binding для реляционных баз данных.

  1.  Порядок выполнения работы

Выполнить лабораторную работу № 3.

Создать базу данных в формате Microsoft SQL Server Compact Edition.

  1.  Создать в базе данных таблицу для хранения полей элементов контейнера лабораторной работы № 3.
    1.  Создать таблицу, связанную с таблицей элемента контейнера отношением «один ко многим» (Например, если таблицей для хранения элементов контейнера является таблица Книга, то связанная с ней отношением «один ко многим» может быть таблица АвторКниги, т.к. один автор может написать много книг).
    2.  Ввести минимум десять строк в каждую из созданных таблиц.

Создать базу данных в формате Microsoft Access.

  1.  Создать таблицы полностью идентичные (имена таблиц, имена и типы столбцов) таблицам базы данных формата SQL Server Compact Edition.
    1.  Ввести минимум десять строк в каждую из созданных таблиц.

Создать типизированный DataSet, отражающий таблицы базы данных.

Реализовать функцию открытия файлов баз данных как в формате Microsoft SQL Server Compact Edition так и в формате Microsoft Access. При открытии файлов баз данных различных форматов, рекомендуется изменять только свойство Connection каждого из объектов TableAdapter, структура DataSet и логика работы приложения в целом, при этом изменяться не должны.

Для каждой таблицы базы данных создать соответствующую форму. Используя технологию Data Binding, реализовать функции просмотра, добавления, изменения и удаления записей таблиц.

Создать форму, отображающую связанные таблицы базы данных (п. ).

  1.  Содержание отчета

Номер и название лабораторной работы, номер группы и ФИО студента.

Цель работы.

Постановка задачи.

Краткие теоретические сведения о библиотеке ADO.NET.

Краткое описание предметной области созданной базы данных.

Диаграмма базы данных созданного DataSet.

Текст программы и пример ее работы.

Анализ результатов и выводы.

  1.  Краткие теоретические сведения
    1.  Подключение к базе данных

Для подключения к источнику данных используются потомки абстрактного класса System.Data.Common.DbConnection:

  •  System.Data.EntityClient.EntityConnection – подключение к концептуальной модели базы данных (Entity Framework). В данной лабораторной работе не используется.
  •  System.Data.Odbc.OdbcConnection – подключение к источнику данных посредством ODBC драйвера.
  •  System.Data.OleDb.OleDbConnection – подключение к OLE DB провайдеру данных.
  •  System.Data.OracleClient.OracleConnection – подключение к базе данных Oracle.
  •  System.Data.SqlClient.SqlConnection – подключение к базе данных MS SQL Server.

Пример использования OleDbConnection смотри в «.\Lectures\04-ADO.NET\Demo\DbSample\ DbSample\DbSample.cs

  1.  Создание и заполнение таблиц DataSet

Для заполнения таблиц DataSet необходимо:

Создать типизированный DataSet.

Вызовите контекстное меню для проекта, который будет содержать создаваемый DataSet.

Выберете «Add\New Item».

Выберете «DataSet», укажите имя создаваемого DataSet, нажмите «Add».

Создать таблицы DataSet на основе таблиц существующего источника данных.

Открыть окно «Server Explorer».

Создать подключение к существующему источнику данных.

Вызвать контекстное меню для узла «Data Connections».

Выбрать «Add Connection».

В поле «Data source»указать тип источника данных, нажав кнопку «Change» и выбрав необходимый «Data provider».

Если того требует Data provider, указать «Server name»,«User name»,«Password» и «database name».

Нажать «OK»

Двойным щелчком мыши откройте созданное подключение.

Откройте узел «Tables».

Выделите таблицы, данные которых будут записываться в таблицы созданного DataSet.

Перетащите выделенные таблицы из окна «Server Explorer» в область «DataSet Designer» созданного DataSet. Для каждой выделенной таблицы будут автоматически сгенерированы соответствующие таблица и TableAdapter.

Заполнить таблицы, используя метод Fill() или GetData() класса TableAdapter, соответствующего заполняемой таблице.

  1.  Сохранение изменений данных таблиц DataSet

Для сохранения изменений из таблицы DataSet в источник данных необходимо использовать методы и свойства класса TableAdapter, соответствующего сохраняемой таблице:

Установить (подкорректировать) значения CommandText свойств InsertCommand, UpdateCommand, DeleteCommand класса TableAdapter.

Вызвать метод TableAdapter.Update().

  1.  Реализация параметризированных запросов к нескольким таблицам

Для выполнения параметризированных запросов на объединение нескольких таблиц источника данных необходимо:

Вызвать контекстное меню «DataSet Designer».

Выбрать пункт меню «Add\TableAdapter».

Выполнить пошагово мастер «TableAdapter Configuration Wizard».

Выбрать существующее соединение или создать новое.

Выбрать тип команды «Use SQL statements».

Ввести SQL выражение, использовав при необходимости «Query Builder».

Указать перечень автоматически генерируемых методов (Fill(), GetDta()).

В результате работы мастера будут созданы DataTable и TableAdapter, соответствующие структуре введенного SQL выражения на объединение нескольких таблиц.

Выделите созданный TableAdapter, откройте окно «Properties Window».

Для свойства SelectCommand выберете свойство «Parameters», добавьте необходимые параметры

Используете добавленные параметры при редактировании свойства SelectCommand.CommandText.

  1.  Data Binding для реляционных баз данных

Для начального знакомства с технологией Data Binding для реляционных баз данных изучите лекционную презентацию []. Уясните работу лекционного демонстрационного приложения []. Это приложение демонстрирует следующие возможности Data Binding для Windows Forms:

  •  Создание форм для работы с базой данных Books.

База данных Books является локальной базой данных формата SQL Server Compact Edition и располагается в файле «Books.sdf». База данных Books хранит информацию о книгах и содержит всего две таблицы: таблицу Author (автор книги) и таблицу Book (название книги). Таблица Book содержит внешний ключ, связывающий ее с таблицей Author.

  •  Наследование форм.

Наследование форм используется с целью инкапсуляции общей для нескольких форм функциональности в базовой форме. Например, в рассмотренном приложении [], базовую функциональность форм, отображающих данные справочников, можно поместить в классе DictionaryForm. Форма DictionaryForm является родительской для форм AuthorForm и BookForm.

  •  Создание форм, отображающих связанные таблицы базы данных.

В рассмотренном демонстрационном приложении [] примерами форм, отображающих связанные таблицы базы данных, являются формы AuthorBookForm и BookForm. Для создания форм, отображающих зависимость Master/Detail и использующих компонент DataGridView, можно воспользоваться статьей [].

Пример использования событий Control.Validating, Control.Validated и компонента ErrorProvider смотри в [].

  1.  Контрольные вопросы

Каковы отличительные черты, принцип работы следующих технологий доступа к данным: ODBC, OLE DB, ADO?

Каковы отличительные черты и принцип работы ADO.NET?

Что представляет собой и из каких элементов состоит DataSet? Что такое типизированный DataSet?

Каково назначение следующих классов DataProvider: Connection, Command, DataReader, DataAdapter?

Каково назначение следующих элементов DataTable: DataColumns, Constraints, DataRows?

Каковы основные свойства класса Connection? Что хранится в свойстве ConnectionString?

Каково назначение следующих методов класса Command: ExecuteNonQuery(), ExecuteScalar(), ExecuteReader()?

Для чего используется класс DataReader? Как создать объект данного класса?

Для чего используется класс DataAdapter? Каково назначение методов Fill() и Update(), а также свойств SelectCommand, InsertCommand, DeleteCommand, UpdateCommand класса DataAdapter?

Каково назначение следующих свойств класса Command: CommandType, CommandText, Connection?

Что представляют собой следующие возможные значения свойства Command.CommandType: Text, StoredProcedure, TableDirect?

Каково назначение свойства Command.Parameters? Что представляет собой связывание параметра по индексу и по имени?

Каково назначение класса DataRelation? Каково назначение методов DataRow.GetChildRows(DataRelation) и DataRow.GetParentRows(DataRelation)?

Каково назначение следующих видов Constraints: UniqueConstraint, ForeignKeyConstraint? Что представляют собой следующие возможные значения свойств AcceptRejectRule, DeleteRule, UpdateRule класса ForeignKeyConstraint: None, Cascade, SetNull, SetDefault?

Каково назначение следующих возможных значений DataRowVersion: Original, Current? Для чего используются методы AcceptChanges() и RejectChanges() классов DataRow, DataTable и DataSet?

Каково назначение следующих возможных значений свойства DataRow.RowState: Detached, Unchanged, Added, Deleted, Modified?

Каково назначение свойств DataView.RowFilter и DataView.Sort? Приведите примеры использования этих свойств.

Что такое транзакция? Каков смысл основных свойств транзакций ACID (Atomic, Consistent, Isolated, Durable)?

Каково назначение следующих методов: Connection.BeginTransaction(), ITransaction.Commit(), Transaction.Rollback()?

Каково назначение следующих методов класса DataSet: ReadXml(), ReadXmlSchema(), WriteXml(), WriteXmlSchema()?

  1.  Упражнения

Для выполнения упражнений создать консольное приложение и типизированный DataSet, использующий базу данных «.\Lectures\04-ADO.NET\Demo\DbSample\DbSample\Books.mdb». За образец программы можно взять «.\Lectures\04-ADO.NET\Demo\DbSample\DbSample\ DbSample.cs».

Вывести на экран список авторов книг из таблицы «Authors».

Выполнить SQL запрос, извлекающий книги из таблицы «Books», названия которых начинаются с заданной подстроки. Вывести на экран названия полученных книг.

Вывести на экран список названий книг заданного автора.

Добавьте новую запись в DataTable «Books». Сохраните изменения в исходной базе данных.

Измените запись в DataTable «Books». Сохраните изменения в исходной базе данных.

Удалите запись из DataTable «Books». Сохраните изменения в исходной базе данных.

Откройте транзакцию. Добавьте нового автора в DataTable «Authors» и книгу этого же автора в DataTable «Books». Сохраните внесенные изменения в источник данных. Зафиксируйте транзакцию, если сохранение завершилось без ошибок, и откатите транзакцию в противном случае.

  1.  Литература

Лекционная презентация «.\Lectures\04-ADO.NET\04-ADO.NET.pptx».

Лекционное демонстрационное приложение «.\Lectures\03-Windows Forms\Demo\WindowsForms\WindowsForms.sln».

Лекционное демонстрационное приложение «.\Lectures\04-ADO.NET\Demo\DbSample\ DbSample.sln».

MSDN, «Walkthrough: Creating a Master/Detail Form Using Two Windows Forms DataGridView Controls».

MSDN, «How to: View Errors Within a DataSet with the Windows Forms ErrorProvider Component»

абораторная работа № 4. ADO.NET 4


 

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

81229. Особенности возникновения и основные характеристики сикхизма. 21.74 KB
  Сикхизм наиболее молодая религия Индии. Сикхизм это монотеистическая религия хотя и складывалась в рамках индуизма отвергающая многобожие индуизма.
81230. Разработка учебно-методических комплексов и внедрение их в учебный процесс 38.74 KB
  Модель электронного учебного курса ЭУК. ЭУК применяются в различных целях: для обеспечения самостоятельной работы обучаемых по овладению новым материалом реализации дифференцированного подхода к организации учебной деятельности контроля качества обучения и т. В первую очередь при проектировании ЭУК необходимо заложить в него технологические характеристики позволяющие впоследствии сделать учебновоспитательный процесс максимально эффективным. Выступая в качестве автоматизированной обучающей системы ЭУК должен выполнять следующие функции:...
81231. Предпрофильные и профильные курсы как средство дифференциации обучения информатике в общеобразовательной школе 35.83 KB
  В нормативном плане возможность реализации дифференциации в изучении информатики обеспечена рядом документов министерства образования РФ. Рекомендован переход к непрерывному изучению информатики в средней общеобразовательной школе предусматривающий три отмеченных выше этапа: пропедевтический базовый и дифференцированный. Общие цели и задачи профильнодифференцированных курсов информатики таковы: Способствовать учету интересов каждого из учащихся; Учитывать направленность допрофессиональной подготовки; Формировать основы научного...
81232. Методика изучения темы «Представление информации и информационные процессы»; подходы к измерению информации; формирование представлений о сущности информационных процессов в системах различной природы 41.47 KB
  Выработать ориентиры в существующих научных взглядах на феномен информации; сформировать умения: определять вид и свойства информации измерять информацию. Различные подходы к определению и измерению информации Подход к определению Подход к измерению в быту сведения сообщения их новизна новизна не измеряется в вычислит.
81233. Методика изучения основ алгоритмизации и начал программирования 36.51 KB
  Изучение учебного материала данного раздела обеспечивает учащимся возможность уяснить смысл понятия алгоритма узнать свойства алгоритма понять возможность автоматизации информационной деятельности человека при исполнении алгоритмов. Изучение понятия алгоритма призвано сформировать у учащихся способность не просто исполнять известные алгоритмы как это делает робот или какойлибо иной автоматисполнитель а осознанно строить алгоритмы. Основные определения Информатика наука об алгоритмах. Исполнителем алгоритма может быть человек животное...
81234. Методические рекомендации по теме «Первое знакомство с компьютером» 44.26 KB
  Функция Человек Компьютер Хранение информации Память Устройства памяти Обработка информации Мышление Процессор Прием информации Органы чувств Устройства ввода Передача информации Речь двигательная система Устройства вывода Устройства компьютера связаны между собой каналами передачи информации. Суть принципа программного управления компьютером сводится к следующим трем положениям: Любая работа выполняется компьютером по программе; Исполняемая программа находится в оперативной памяти; Программа выполняется автоматически. Затем следует...
81235. Методика изучения темы «дисковая ос». Методические рекомендации по изучению темы «Программы-оболочки ОС» 38.31 KB
  Любые операционные системы независимо от типа выполняют три основные функции: управление устройствами компьютера; взаимодействие с пользователем; работа с файлами. Третья функция операционной системы работа с файлами. Первоначальные понятия которые должны быть даны ученикам по данной теме это имя файла тип файла файловая структура логический диск каталог путь к файлу дерево каталогов. Для Windows сообщаете что имя файла может быть длинным до 255 символов и допускает использование русских букв.
81236. Методические рекомендации по организации и проведению практических занятий при изучении темы «Текстовый редактор» 36.45 KB
  Обучить основным приемам работы с текстовым редактором. Рекомендации по организации практической работы на компьютере. Навыки ввода и редактирования текста нужны пользователю не только для работы с текстовым редактором. Ввод и редактирование текстов осуществляется с помощью специальных программ текстовых редакторов используемых в семействах операционных систем UNIX и MS Windows Семейство ОС Названия редакторов UNIX Emcs Vi TED Str Office Writer MS Windows Блокнот Word WordPd Лексикон Str Office Writer Несмотря на различия все...
81237. Методические рекомендации по организации и проведению практических занятий при изучении темы «Электронные таблицы» 38.16 KB
  Состав электронной таблицы. Прямоугольная область таблицы называется диапазоном ячеек. Каждая ячейка таблицы имеет следующие характеристики: адрес содержимое изображение формат имя примечание комментарий Абсолютная и относительная адресация ячеек.