Скачиваний:
120
Добавлен:
27.04.2015
Размер:
1.28 Mб
Скачать

5.6.3. Примеры разработки приложений для работы с базами данных субд Access

Одним из наиболее распространенных сценариев в разработке приложений является отображение данных из БДна формеWindows Forms. Поэтому с учетом процессов, которые используются при работе с наборами данных, предлагаемыхMicrosoft (рис. 5.6.1-2),и с учетом того, что представленные задачи учебные, в примерах будем рассматривать следующие процессы:

  1. Разработка БД.

  2. Разработка приложения Windows:

    1. создание проекта;

    2. создание интерфейса пользователей;

    3. создание подключения к данным базы данных и отображение их на форме

    4. редактирование, проверка и сохранение данных в приложении;

    5. разработка программного кода приложения.

  1. Выполнение приложения.

  2. Анализ результатов работы приложения.

5.6.3.1. Пример создания проекта «Пропуски» для работы с бд «DataBase1»

Задание:

В базу данных c именем «DataBase1» в определенные дни поступают сведения о количестве пропущенных часов, которые имеют студенты по каждому из трех предметов, при этом доступна следующая информация:

  • дата проверки;

  • учебная группа;

  • фамилия студента;

  • год рождения;

  • число пропущенных часов по информатике;

  • число пропущенных часов по математике

  • число пропущенных часов по физике.

Необходимо создать проект с именем «Пропуски», который используя сведения из этой базы данных, вычисляет в какой день и по какому предмету имелось наибольшее число пропусков (указать также фамилию студента, имеющего такое число пропусков). Если таких дней несколько, то перечислить их все.

  1. Создание базы данных «DataBase1»

Для создания таблицы с именем ПропЧасыСтудентанеобходимо создать ее структуру, которая будет иметь вид, приведенный на рис. 5.6.3-1.

Рис. 5.6.3-1

Заполнение таблицы данными можно выполнить в режиме таблицы. После заполнения таблица ПропЧасыСтудентапринимает вид, приведенный на рис.5.6.3-2.

Рис.5.6.3-2

  1. Разработка приложения Windows для работы с БД Access «DataBase1»

    1. Создание нового проекта.

Создать проект с именем Пропуски1.

    1. Создание интерфейса пользователей.

Создать интерфейс пользователей из одной формы, которая изображена на рис. 5.6.3-3.

Обратите внимание, что шаблон таблицы ПропЧасыСтудентаотображается на форме только послеподключения набора данных приложения к базе данных DataBase1.

Рис. 5.6.3-3

    1. Подключение набора данных приложения к базе данных DataBase1 СУБД Access и отображение их на форме.

Процедура подключения приложения VSк данным в базе данныхСУБД Access может быть упрощена за счет использованияМастера Конфигурации источников данных. После завершения работыМастераданные в окнеИсточники данных становятся доступными для перетаскивания на формы.

Для создания набора данных при помощи Мастера настройки источника данных

необходимо:

  1. В элементе Данныеглавного меню выбрать командуДобавить новый источник данных или Показать источники данных.

В результате в среде разработки появится окно Мастер настройки источника данныхис. 5.6.3-4).

Мастер настройки источника данных– это новая функцияVisual Studio IDE, которая автоматически подготавливает программу наVisual Basicк получению информации из базы данных.Мастерзапрашивает тип базы данных, с которой будет производиться соединение (ло­кальнаяилиудаленная база данных,Web-службаилиобъект данных,созданный вами), устанавливает соединение с данными, а затем созда­ет в программе набор данных, который хранит выбранные таблицы и поля базы данных. Конечным результатом является то, что мастер открывает окноИсточник данныхи заполняет его визуальным представлением каждого объекта базы данных, используемого в программе.

Рис. 5.6.3-4

  1. После выбора Источника данных для приложенияБаза данныхи нажатия на клавишуДалееМастерзапрашиваетВыбор подключения БД(рис. 5.6.3-5).

Рис. 5.6.3-5

Рис. 5.6.3-6

  1. В окне Выбор источника данных(Рис. 5.6.3-6) выбратьБД, являющуюся источником данных –Файл базы данных Access,а затем нажать на кнопкуДалее.

Мастер отобразит форму – Добавление подключения, который помогает установить соединение с базой данных, создав строку, которая называетсясвязывающей строкой (connection string)(рис. 5.6.3-7).

Рис. 5.6.3-7

  1. Связывающая строка содержит инфор­мацию, которая требуется VSдля открытия и извлечения информации из файла базы данных. Она включает путь и имя файла, а также дополнительные данные, такие, как имя пользователя и па­роль. По этой причине работа со связывающей строкой в окне Мастер настройки источника данныхвыполняется очень аккуратно, и вам следует позаботиться о ее защите от несанкционированного доступа при копировании исходных файлов с одного места в другое.

Таким образом, в окне Добавление подключениябазы данныхвыбратьAccess Database File.

  1. Ввести путь к файлу базы данных DataBase1.mdbили щелкнуть кнопкуОбзор, чтобы найти этот файл, а затем нажать кнопкуОК.

  2. Снова появится диалоговое окно Добавление подключения (Add Connection), содержащее путь к базе данных.

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

  4. Щелкнуть на кнопке ОК, чтобы закрыть окно сообщения, а затем щелкнуть на кнопкеОК, чтобы закрыть диалоговое окноДобавление подключение (Add Connection).Visual Studioснова отобразит окно Мастер настройки источника данных (рис. 5.6.3-8)

Рис. 5.6.3-8

  1. Чтобы отобразить готовую связывающую строку, щелкните в диалоговом окне на знаке «плюс» (+) рядом с элементом Строка подключений.Страница Мастера должна выглядеть примерно, так как на рис. 5.6.3-9.

Связывающая строка определяет провайдера.

Рис. 5.6.3-9

  1. Щелкнуть на кнопке Далее.

Мастеротобразит предупреждение, указывающее, что была выбра­на новая локальная база данных (Рис. 5.6.3-10)

Рис. 5.6.3-10

Чтобы избежать создания дополнительной копии базы данных, щел­кните на кнопке Нет,а затем на кнопкеДалее.

При этом Мастер настройки источника данных задаст такой вопрос о сохранении и строки подключения.

По умолчанию выбрана опция сохранения свя­зывающей строки, а, в качестве имени строки в данном примере пред­лагается «DataBase1ConnectionString». Обычно следует сохранять эту строку в настроечном файле приложения по умолчанию, который до­ступен в окнеОбозреватель решений (Solution Explorer),так как в этом случае при изменении мес­та расположения базы данных эту строку можно будет легко отре­дактировать без поиска ее в коде программы и последующей перекомпиляции приложения (Рис. 5.6.3-11).

Рис. 5.6.3-11

  1. Чтобы сохранить связывающую строку, щелкнуть на кнопке Далее.

Затем будет выдан запрос на выбор подмножества объектов базы дан­ных, которые будут использоваться в данном проекте, как показано в окне Мастер настройки источника данных, изображенном на рис. 5.6.3-12.

Рис. 5.6.3-12

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

Для нашей задачи следует выбрать все таблицы (поставить соответствующие флажки в квадратике).

  1. Чтобы добавить функциональность в приложение, то есть отобразить таблицы базы данных на форме необходимо их перетащить из окна Источник данныхна форму.

Перетаскивание элементов из окна Источники данныхв форму автоматически добавляет нужный код для заполнения набора данных в обработчик событийForm1_Load()(рис. 5.6.3-13).

Private Sub Form1_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: данная строка кода позволяет загрузить данные в таблицу

'"Database1DataSet1.ПропЧасыСтудента".

‘При необходимости она может быть перемещена или удалена.

Me.ПропЧасыСтудентаTableAdapter.Fill _

(Me.Database1DataSet1.ПропЧасыСтудента)

End Sub

Рис. 5.6.3-13

    1. Редактирование, проверка и сохранение данных в приложении

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

В Windows Formsархитектура привязки к данным занимается отправкой изменений из элементов управления с привязкой к данным в набор данных, поэтому не требуется в явном виде обновлять набор данных при помощи собственного кода. Наборы данных поддерживают множество версий строк данных для нахождения изначальных записей в источнике данных. Перед выполнением обновления источника данных, возможно, потребуется проверить отдельные строки.

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

Кроме изменения фактических данных, также можно запрашивать DataTableдля возвращения определенных строк данных, например, отдельных строк, определенных версий строк (исходные и предложенные), только измененных строк и строк, которые содержат ошибки.

    1. Разработка программного кода приложения

C первой формой будет связан код, приведенный на рис. 5.6.3-14.

Private Sub Button1_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Button1.Click

Dim d As DataRowCollection

Dim max, n As Integer

Dim t As String = ""

d = Database1DataSet1.ПропЧасыСтудента.Rows

rtr(t, max, d) ' обращение к процедуре модуля

TextBox1.Text = "Наибольшее число пропущенных часов=" _

& CStr(max) & vbCrLf & t

End Sub

Рис. 5.6.3-14

Реализация модуля Module1представлена на рис. 5.6.3.15.

Module Module1

Public Sub rtr(ByRef t As String, _

ByRef max As Integer, ByRef d As DataRowCollection)

Dim learn() As String = {"информатика", "математика", "физика "}

Dim i, j, n As Integer

n = d.Count : max = -1000

For i = 0 To n - 1

For j = 5 To 7 '5,6,7- номера полей в записи базы данных

If d(i)(j) > max Then

max = d(i)(j)

End If

Next

Next

For i = 0 To n - 1

For j = 5 To 7

If d(i)(j) = max Then

t = t & d(i)(1) & ", Предмет " & learn(j - 5) & _

" , Студент " & d(i)(2) & " Группа " & d(i)(3)

End If

Next

Next

End Sub

End Module

Рис. 5.6.3-15

  1. Выполнение приложения

Результат выполнения программы представлены на рис.5.6.3-16.

Рис.5.6.3-16

  1. Анализ результатов работы приложения

Соседние файлы в папке Пособие-Раздела-05-2008