Файл: Лекция 18 Технология доступа к данным в среде visual studio 2010 Рекомендуемые источники.pptx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.01.2024

Просмотров: 161

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Часть II РЕАЛИЗАЦИЯ И ЭКСПЛУАТАЦИЯ БАЗ ДАННЫХ Раздел V Программный интерфейс доступа к данным

Лекция 18

Технология доступа к данным в среде VISUAL STUDIO 2010

Рекомендуемые источники

ISBN: 978-5-9775-0617-5

Автор: Голощапов Алексей Леонидович

Редактор: Кондукова Екатерина

Издательство: BHV, 2011 г.

Серия: В подлиннике

Страниц: 544 (Газетная)

Тип обложки: обл - мягкий переплет (крепление скрепкой или клеем)

Иллюстрации: Черно-белые

Масса: 488 г

Размеры: 232x166x23 мм

Этапы создания клиентского приложения

Создание интерфейса клиентского приложения в Visual Studio происходит в несколько этапов:

§1 Технологии доступа к данным и Объекты связи

ODBC предназначена для обеспечения возможности взаимосвязи между различными SQL-совместимыми БД.

В архитектуре ODBC используется один ODBC Driver Manager и несколько ODBC-драйверов, отвечающих за реализацию особенностей доступа к каждой отдельной СУБД.

Преимущества:

В технологии OLE DB используется механизм провайдеров, под которыми понимают поставщиков данных.

Кроме поставщика данных имеются также сервис провайдеры, реализующие самые различные сервисные функции.

Данные технологии представляют собой высокоуровневые объектные модели (библиотеки функций) и создают еще один уровень абстракции между приложением и функциями ODBC и OLE DB.

DAO (Data Access Objects) можно использовать для операций с источниками данных ODBC двумя способами: через Microsoft Jet или новую технологию ODBCDirect.

Технология DAO предназначена преимущественно для создания БД с помощью СУБД MS Access, т.к. кроме замены функций ODBC она осуществляет также прямой доступ к функциям ядра MS Jet базы данных Access.

Модель объекта не содержит таблиц, среды. Здесь основными объектами являются:

Данная технология реализована в виде динамически подключаемых библиотек и имеет достаточно развитый интерфейс прикладных программ, названный IDAPI (Integrated Database Application Program Interface).

Этот интерфейс представляет собой набор функций для работы с базами данных

Объекты связи

Объекты связи - это объекты проекта, осуществляющие обмен информацией между интерфейсом БД и файлом данных.

Объекты связи всегда находятся на клиентской машине. Они осуществляют доступ к файлам данных, передавая информацию в интерфейс БД, и содержат внутри себя запросы, выполнения на стороне клиента.

Замечание: Объекты связи также могут ограничивать доступ к информации и осуществлять защиту информации, хотя для защиты информации и ограничения доступа лучше использовать сам сервер.

Технологии в объектах связи

Существует три технологии используемых в объектах связи:

Технология ADO

ADO является более старой технологией.

Технология RDO

Согласно технологии RDO файлы данных рассматриваются в качестве устройств, т.е. для работ с БД необходим драйвер.

Объект связи, работающий по технологии RDO, при работе с файлом данных сначала обращается к драйверу БД, который в свою очередь обращается к файлу данных.

Технология ADO.Net

Плюсы и минусы технологий

§2 Подключение проекта к файлу БД

Мастер подключений

В Visual Studio подключение проекта к файлу БД можно произвести двумя способами:

Настройка связи подключение вручную

В Visual Studio можно создавать объекты связи вручную и их настраивать.

Создание и настройка соответствующих объектов связи

1. Создание подключения начинается с создания объекта DataSet.

Объект DataSet не может сам подключится к источнику данных перед его созданием необходимо настроить "DataSources" (оконное меню Data\Add Data Sources).

После создания объекта DataSet появляется окно "Add Data Set". В нем необходимо в выпадающем списке "Typed Data Set" выбрать источник данных из "Data Sources".

Файл набора данных

Создание объекта BindingSource

DataSource - указанный объект DataSet;

DataMember - указывает таблицу, запрос или фильтр, которые будут отображаться на форме.

Следующие свойства необязательны для настройки:

Filter - свойство для фильтрации данных, в нем записывается условие отбора для какого-то поля;

Sort - сортировка информации

Allow New - позволяет добавлять новые записи.

Создание объекта TableAdaper и BindingNavigatior

3. После добавления DataSet и BindingSource автоматически будет добавлен объект TableAdapter.

После чего уже можно добавлять объекты для отображения данных, однако, при этом нельзя будет управлять информацией.

Настройка вида панели навигации

Затем можно настроить внешний вид панели навигации при помощи следующих свойств:

AddNewItem - отображает кнопку для добавления новой записи;

DeleteItem - отображает кнопку для удаления текущей записи;

AddNextItem - отображает кнопку для добавления новой записи после текущей;

MoveFirstItem - отображает кнопку для перехода к первой записи;

MoveNextItem - отображает кнопку для перехода к следующей записи;

MovePreviousItem - отображает кнопку для перехода к предыдущей записи;

MoveLastItem - отображает кнопку для перехода к последней записи;

CountItem - отображает общее количество записей;

PositionItem - отображает номер текущей записи.

§2 Интерфейс информационных систем. Создание интерфейса пользователя

Интерфейс информационных систем

В системах построенных по технологии клиент-сервер существует два вида интерфейса:

Интерфейс, реализуемый при помощи клиентского приложения

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

Основными элементами клиентских приложений являются формы (окно программы) и отчёты.

Элементы управления на форме называется объектами.

Каждый объект обладает своим набором свойств, событий и методов.

Объекты форм

В БД все объекты форм делятся на два класса:

Формы в клиентском приложении

Все формы в клиентском приложении делятся на три группы:

Формы для работы с данными - формы, содержащие как объекты управления, так и объекты просмотра данных. Такие формы предназначены для отображения, изменения, удаления и анализа данных;

Кнопочные формы - формы, содержащие только объекты управления, предназначаются для открытия всех других форм.

Замечание: Кнопочная форма, которая появляется первой после запуска программы, называется, главной кнопочной формой.

Виды дизайна форм

Замечание: Существует два вида дизайна форм:

§2.1 Создание интерфейса пользователя

Создание ленточной формы

"DataSources"'>Создание интерфейса при помощи окна "DataSources"

Visual Studio позволяет создавать не сложный интерфейс БД, без помощи панели объектов и окна свойств, лишь используя окно "DataSources".

Замечание: Таким способом можно создавать только определённые объекты для отображения данных поля, и набор этих объектов зависит от типа данных поля.

Создание объектов для отображения данных перетаскиванием состоит из двух шагов:

Подключение объектов к источнику данных при помощи окна свойств

Visual Studio позволяет подключать источники данных к объектам без использования перетаскивания, то есть вручную, с использованием панели свойств.

Для этого на форму помещается объект, который будет подключаться к источнику данных.

Его выделяют, затем на панели свойств разворачивается группа свойств "DataBindings" она содержит два свойства:

Источники данных

Открыть панель "Источники данных" (Data Sources) можно, щелкнув по ее вкладке в правой части окна среды разработки

На панели "Источники данных" отобразите поля необходимой таблицы щелкнув по значку , расположенному слева от имени таблицы.

§2.1.2 Стандартные объекты для отображения данных. Программное управление информационной системой

Стандартные объекты для отображения данных

Операция состоит из двух шагов:

Замечание: В случае подключения объекта к источнику данных, способом, описанным выше, подпись к объекту не создаётся автоматически и её надо создавать вручную с помощью объекта Label.

Наиболее часто в БД используются следующие объекты для отображения информации:

Label - полностью аналогичен объекту TextBox, но не позволяет изменить данные. Этот объект используется для отображения заблокированных неизменяемых полей.

ListBox- список отображающий значения полей и позволяющий выбирать значения полей из списка. Более того, пункты списка можно задавать, используя другой источник данных.

ComboBox - объект подобный объекту ListBox, однако информация отображается не в списке, а выпадающем списке.

DataGridView - объект, отображающий источник данных (таблицу, запрос или фильтр) в виде таблицы.

DataPicker - специальный объект, предназначенный для отображения полей типа данных "Дата/Время" в виде календаря.

Этот объект может быть создан только при помощи панели объектов и его подключение осуществляется либо перетаскиванием на него поля из окна "Data Sources", либо заданием его свойств вручную.

По своим свойствам он ничем не отличается от объекта TextBox.

Единственное дополнительное свойство у этого объекта это свойство Mask.

Замечание: Тип данных отображаемой информации должен совпадать с типом данных маски.

Программное управление информационной системой

В Visual Studio добавлять, удалять записи и перемещаться по ним можно как используя объект Navigator, так и используя обычные кнопки.

Пример: Создадим кнопоки для управления записями. В Visual Studio все операции с записями осуществляются с использованием объекта "BindingSource".

Для добавления новой записи из таблицы "Студенты" используется команда вида СтудентыBindingSource.AddNew

Вместо метода AddNew можно использовать методы:

MoveNext (перейти к следующей);

MoveFirst (Перейти к первой);

MovePrevious (Перейти к предыдущей);

MoveLast (Перейти к последней);

Delete (Удалить запись).

<Поле1><Оператор1><Выражение1>

[AND|OR <Поле2><Оператор2><Выражение2>…]

Здесь:

<Поле1>, <Поле2> ... - поля на которые накладываются условия;

<Оператор1>, <Опрераторы2> - операторы сравнения, участвующие в условиях;

<Выражение1>, <Выражение2> - выражения с которыми сравниваются поля. Под выражениями понимаются, константы, переменные, формулы, функции и свойства объектов

Пример: Из таблицы "Студенты" необходимо отобразить студента, у которого значение поля ФИО равно "Петров".

Filter_=_"ФИО_=_Петров"'>СтудентыBindingSource.Filter = "ФИО = 'Петров'"

Свойство Filter объекта BindingSource

Обычно при формировании запроса при помощи свойства Filter задания условий отбора используют либо списки ListBox, либо выпадающие списки ComboBox.

Замечание: Если мы используем ComboBox для создания динамического фильтра, то в меню действий параметры "Value Member" и "Selected Value" настраивать не надо.

СтудентыBindingSource.Filter = "ФИО='" & ComboBox1.Text & "'"

После нажатия кнопки в DataGridView отображаются данные по студенту, выбранному в выпадающем списке ComboBox1.

Создание сложных ленточных форм для работы с данными

Coхранение изменений

Рассмотрим последнюю процедуру более подробно.

Она содержит следующие команды:

Me.Validate() - проверяет введенные в поля данные на соответствие типам данных полей;

Me.СтудентыBindingSource.EndEdit() - закрывает подключение с сервером;

Me.TableAdapterManager.UpdateAll(Me.StudentsDataSet) - обновляет данные на сервере.

Для создания текстовых полей ввода по маске на панели объектов используется кнопка

Теперь

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

Затем перетащите поле на форму мышью, расположив, его справа от надписи "Курс".

Поместите справа от надписи "Код специальности", неподключенный ни к каким полям выпадающий список. Для создания выпадающего списка на панели объектов воспользуйтесь кнопкой

В панели действий под опцией "Use data bound items" расположены следующие параметры:

Data Source (Источник данных) - определяет таблицу или запрос из которого заполняется список;

Display Member (Член отображения) - определяет поле значениями которого заполняется список;

Value Member (Член значений) - определяет значения какого поля подставляются в связанное с выпадающим списком поле;

Selected Value (Выбранное значение) - определяет связанное с выпадающим списком поле.

Для изменения параметров необходимо нажать кнопку внутри поля параметра.

Появится древовидная структура выбора источника данных.

Указание параметров

В нашем случае зададим выше перечисленные параметры следующим образом:

Параметр "DataSource" как "Other Data Sources\Project Data Sources\StudentsDataSet\Специальности";

Параметр "DataMember" как "Наименование специальности";

Параметр "Value Member" как "Код специальности";

Параметр "Selected Value" как "СтудентыBindingSource\Код специальности".

§2.2 Создание интерфейса пользователя

Создание табличной формы

§2.2.1 Объект для отображения табличной информации DataGridView. Настройка свойств столбцов в DataGridView

Объект для отображения табличной информации DataGridView

Объект DataGridView предназначен для отображения всей информации из таблиц, запросов или фильтров на форме в виде таблицы.

Этот объект может быть создан как:

Свойства объекта DataGridView

Настройка свойств объекта DataGridView осуществляется в основном через меню действий. Возможны следующие настройки:

Меню действий объекта DataGridView

Также в меню действий возможны следующее действия с таблицей:

Замечание: В объекте DataGridView имеется возможность сортировки данных. Для этого используется метод Sort, имеющий следующий синтаксис:

DataGridView.Sort(<Имя столбца>, <Порядок сортировки>)

где DataGridView - это имя объекта,

System.ComponentModel.ListSortDirection.Ascending - сортировка по возрастанию;

System.ComponentModel.ListSortDirection.Descending - сортировка по убыванию.

Доступ к отдельным ячейкам таблицы

Замечание: Доступ к отдельным ячейкам таблицы можно получить через подобъект Item. Обращение к нему осуществляется следующим образом:

DataGridView.Item(i,j).<Свойство>

Здесь DataGridView - это имя объекта, i - горизонтальная координата ячейки, а j - вертикальная, <Свойство> - это настраиваемое свойство ячейки.

Пример: В верхнюю левую ячейку таблицы записать слово "Привет" и сделать цвет текста в ячейке красным.

DataGridView.Item(0,0).Value = "Привет"

DataGridView.Item(0,0).Style.ForeColor = Color.Red

§2.2.2 Создание табличных форм для отображения данных.

Фильтрация и сортировка данных, организация поиска информации в таблице

В появившемся списке объектов для отображения всей таблицы выберите "DataGridView"

Далее настроим свойства объектов.

1. Начнем с настройки свойств формы. Задайте свойства формы следующим образом:

FormBorderStyle (Стиль границы формы): Fixed3D;

MaximizeBox (Кнопка развертывания формы во весь экран): False;

MinimizeBox (Кнопка свертывания формы на панель задач): False;

Text (Текст надписи в заголовке формы): Таблица "Студенты" (Табличный вид).

2. Зададим свойства надписей (Label1, Label2, Label3 и Label4) как:

AutoSize (Авторазмер): False;

Text (Текст надписи): "Таблица "Студенты" (Табличный вид)", "Поле для сортировки", "ФИО:" и "Критерий" (Соответственно для Label1, Label2, Label3 и Label4).

Font (Шрифт): Microsoft Sans Serif, размер 14;

ForeColor (Цвет текста): Темно синий;

TextAlign (Выравнивание текста): MiddleCenter.

Для того чтобы нельзя было произвести сортировку не выбрав поля изначально заблокируем кнопку "Сортировать" (Button1).

3. У группирующей рамки зададим заголовок (Свойство Text) равным "Сортировка".

расположенной в верхнем правом углу таблицы. В меню действий выберите пункт "Edit columns…"

В окне "Edit Columns" из списка полей удалите поля "Код студента" и "Код специальности", выделив их и нажав кнопку "Remove" (Удалить).

Список полей примет вид показанный на рисунке.

Для закрытия окна редактирования полей, и сохранения изменений нажмите кнопку "Ok".

§2.2.3 Создание табличных форм для отображения данных. Написание кода обработчиков событий объектов

Разблокировка кнопки

Закончив настройку свойств объектов и перейдем к написанию кода обработчиков событий объектов.

Button1.Enabled = True

Сортировка данных по выбранному полю

Обработчика события нажатия кнопки "Фильтровать"

Дважды щелкните по кнопке "Фильтровать" и в процедуре обработки события "Button2_Click" наберите код:

СтудентыBindingSource.Filter = "ФИО='" & ComboBox1.Text & "'"

Замечание: У объекта СтудентыBindingSource имеется текстовое свойство Filter которое определяет условие фильтрации. Условие фильтрации имеет синтаксис:

"<Имя поля><Оператор>'<Значение>'".

В нашем случае значение поля "ФИО" приравнивается к значению, выбранному в выпадающем списке (ComboBox1.Text)

Отмена фильтрации записей

Заметим, что если присвоить свойству "Filter" значение пустой строки (""), то его действие будет отменено.

Реализация поиска информации в таблице

Данная процедура состоит из двух частей:

Первый блок For i=0…..Next i. перебирает все ячейки таблицы и устанавливает в них белый цвет фона и черный цвет текста. То есть, отменяет результаты предыдущего поиска;

Кнопка "Закрыть"

Создание и настройка соответствующих объектов связи

1. Создание подключения начинается с создания объекта DataSet.

Объект DataSet не может сам подключится к источнику данных перед его созданием необходимо настроить "DataSources" (оконное меню Data\Add Data Sources).

После создания объекта DataSet появляется окно "Add Data Set". В нем необходимо в выпадающем списке "Typed Data Set" выбрать источник данных из "Data Sources".

После выбора источника данных в списке "TypedDataSet" появится строка Windows Application <имя источника>. После этого в окне можно нажать кнопку "Ok". Имя источника данных будет записана в свойство DataSetName объекта DataSet.
Пример подключения к БД

Файл набора данных


Замечание: После окончания работы мастера подключений. В обозревателе в "SolutionExplorer" появится дополнительный файл набора данных с расширением xsd. Этот файл содержит в себе схему данных из источника данных, а также позволяет редактировать источник данных (при открытии этого файла появляется окно похожее на конструктор запросов в Access или SQL Server), в этом окне также можно редактировать поля таблиц.

Замечание: В одном проекте может быть несколько наборов данных, то есть можно запускать мастер подключений сколько угодно раз. Новые наборы данных добавляются на вкладку "DataSources'>DataSources" и появляется новые данные с расширением xsd.

Создание объекта BindingSource

2. После создания объекта DataSet создается объект BindingSource, он позволяет подключится к таблицам, запросам и фильтрам из файла данных. После его создания необходимо настроить следующие свойства:

DataSource - указанный объект DataSet;

DataMember - указывает таблицу, запрос или фильтр, которые будут отображаться на форме.

Следующие свойства необязательны для настройки:

Filter - свойство для фильтрации данных, в нем записывается условие отбора для какого-то поля;

Sort - сортировка информации

Allow New - позволяет добавлять новые записи.

Создание объекта TableAdaper и BindingNavigatior


3. После добавления DataSet и BindingSource автоматически будет добавлен объект TableAdapter.

После чего уже можно добавлять объекты для отображения данных, однако, при этом нельзя будет управлять информацией.

4. Для управления источником данных создаётся объект BindingNavigatior. Затем его необходимо подключить к объекту BindingSource. Для этого в свойстве BindingSource объекта BindingNavigatior необходимо указать созданный ранее объект BindingSource.

Настройка вида панели навигации

Затем можно настроить внешний вид панели навигации при помощи следующих свойств:

AddNewItem - отображает кнопку для добавления новой записи;

DeleteItem - отображает кнопку для удаления текущей записи;

AddNextItem - отображает кнопку для добавления новой записи после текущей;

MoveFirstItem - отображает кнопку для перехода к первой записи;

MoveNextItem - отображает кнопку для перехода к следующей записи;

MovePreviousItem - отображает кнопку для перехода к предыдущей записи;

MoveLastItem - отображает кнопку для перехода к последней записи;

CountItem - отображает общее количество записей;

PositionItem - отображает номер текущей записи.

§2 Интерфейс информационных систем. Создание интерфейса пользователя

Интерфейс информационных систем

В системах построенных по технологии клиент-сервер существует два вида интерфейса:

  • Интерфейс, реализуемый при помощи клиентского приложения;
  • Web -интерфейс.

Интерфейс, реализуемый при помощи клиентского приложения

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

Основными элементами клиентских приложений являются формы (окно программы) и отчёты.


Элементы управления на форме называется объектами.

Каждый объект обладает своим набором свойств, событий и методов.

Объекты форм

В БД все объекты форм делятся на два класса:

  • Объекты управления - объекты, осуществляющие управление БД (Например: Кнопка или Выпадающий список);
  • Объекты для отображения информации - элементы, отображающие содержимое таблиц, запросов или фильтров, позволяющие добавлять изменять и удалять информацию, и проводить ее анализ.

Формы в клиентском приложении

Все формы в клиентском приложении делятся на три группы:

Формы для работы с данными - формы, содержащие как объекты управления, так и объекты просмотра данных. Такие формы предназначены для отображения, изменения, удаления и анализа данных;

Кнопочные формы - формы, содержащие только объекты управления, предназначаются для открытия всех других форм.

Замечание: Кнопочная форма, которая появляется первой после запуска программы, называется, главной кнопочной формой.

Информационные и служебные формы - формы, содержащие только элементы управления, предназначены для отображения служебной информации (справки), несвязанной с таблицами, запросами и фильтрами, либо для выполнения служебных операций не связанных с данными (Например: форма с калькулятором)

Виды дизайна форм

Замечание: Существует два вида дизайна форм:

  • Ленточные формы - формы, выводящие информацию по одной записи;
  • Табличные формы - формы выводящие информацию в виде таблицы.
  • Замечание: Объекты связи используются только в клиентском интерфейсе. В web-интерфейса функции объекта связи выполняет сервер.

    Основой web-интерфейса являются страницы (файл с расширенным htm или html). Работа со страницами осуществляется с помощью программы - браузера. Изначально страницы находятся на сервере, пользователь сначала загружает их на свой компьютер с сервера, а затем с помощью страниц пользователь работает с файлом данных.

    Замечание: В web-интерфейсе отсутствуют отчёты, их роль выполняют сами страницы.


§2.1 Создание интерфейса пользователя

Создание ленточной формы

"DataSources"'>Создание интерфейса при помощи окна "DataSources"

Visual Studio позволяет создавать не сложный интерфейс БД, без помощи панели объектов и окна свойств, лишь используя окно "DataSources".

В окне "DataSources" после подключения источника данных отображается все таблицы, запросы, фильтры данных и их поля. (Можно перетаскивать источники данных, соответственно таблицы, запросы, фильтры прямо из окна "DataSources" на форму. При перетаскивании можно выбирать для каждого поля источника данных объект, который будет отображать его содержимое. )

Замечание: Таким способом можно создавать только определённые объекты для отображения данных поля, и набор этих объектов зависит от типа данных поля.

Создание объектов для отображения данных перетаскиванием состоит из двух шагов:

  • Для каждого поля таблицы, запроса, или фильтра выбирается объект, который будет отображать его содержимое. Для этого необходимо щелкнуть мышью по полю в окне "DataSources", рядом с именем поля появится кнопка, со стрелкой, щелкнув мышью по стрелке, отобразится выпадающее меню с объектами, которые могут отображать информацию, содержащуюся в поле.
  • Для полей стандартными объектами являются: TextBox, ComboBox, Label, LinkLabel, ListBox.
  • Для полей типа данных ДатаВремя (DateTime) возможно использования объекта DataTimePicker.
  • Для полей логических типов данных возможно использование объекта CheckBox.
  • Для отображения таблиц, запросов или фильтров целиком возможно два варианта отображения:
    • при помощи объекта DataGridView - информация из таблицы, запроса или фильтра отображается в виде таблицы;
    • DetalledView - отображение всех полей источника данных в TextBox по отдельности.
    • Замечание: В выпадающем меню с вариантами выбора объектов имеется пункт "Customize" (Настройки), который позволяет выбрать дополнительные допустимые объекты для отображения информации.

  • После выбора объектов для отображения необходимо их поместить на форму, перетаскивая мышью с панели "DataSources" в нужное место на форме.
  • Замечание: При помещении первого объекта на форму на ней автоматически создаются объекты для связей с файлом данных и объекты по навигациям по источникам данных (DataSet, BindingSource, TableAdapter, BindingNavigator). Замечание: По умолчанию панель навигации располагается в верхней части формы. Эту панель можно прикрепить около различных краев формы. Для этого необходимо воспользоваться меню действий объектов. Чтобы вызвать это меню, необходимо выделить объект. В его правом верхнем углу появится кнопка (квадратик со стрелочкой), при нажатии этой кнопки появляется выпадающее меню с настройками и действия с объектом. Например, чтобы поменять местоположение навигации панели - надо в этом меню выбрать настройку Docking.

    Замечание: При перетаскивании на форму полей источников данных автоматически создаются подписи к ним (Label).