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

5.6.3.2. Пример создания проекта «ОценкиСтудентов» для работы с бд «DataBase2»

Задание

В базу данных c именем «DataBase2» поступают сведения о студентах и оценках, полученные этими студентами по трем предметам на двух контрольных. Предположим, что данные хранятся в двух таблицах, одна из которых называется «Студенты», а другая «Оценки». Каждая запись обеих таблиц состоит из шести полей.

Структура таблицы «Студенты»:

КодСтудента

фамилия

группа

специальность

курс

Структура таблицы «Оценки».

КодСтудента

дата

информатика

математика

физика

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

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

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

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

Рис. 5.6.3-17

Рис. 5.6.3-18

Заполнение таблиц данными можно выполнить в режиме таблицы. После заполнения таблиц СТУДЕНТЫиОЦЕНКИпринимает вид, приведенный на рис.5.6.3-19 и 5.6.3-20.

Рис.5.6.3-19

Рис.5.6.3-20

Таблицы базы данных будут связаны по схеме «один ко многим» как на рис.5.6.3-21.

Рис. 5.6.3-21

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

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

Создать проект с именем ОценкиСтудентови двумя формами.

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

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

Рис. 5.6.3-22

Рис. 5.6.3-23

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

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

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

необходимо:

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

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

  1. Далее Мастер запрашивает тип базы данных, с которой будет производиться соединение – устанавливает соединение с данными, а затем созда­ет в программе набор данных, который хранит выбранные таблицы и поля базы данных.

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

  1. В окне Выбор источника данныхвыбратьБД, являющуюся источником данных – Файл базы данныхAccess, а затем нажать на кнопкуДалее.Мастер отобразит форму –Добавление подключения, которая помогает установить соединение с базой данных, создав строку, которая называетсяСвязывающей строкой

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

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

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

  1. Щелкнуть на кнопке Проверить подключение.

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

  1. Щелкнуть на кнопке ОК, чтобы закрыть окно сообщения, а затем щелкнуть на кнопкеОК, чтобы закрыть диалоговое окноДобавление подключения.

Visual Studio снова отобразит окно Мастер настройки источника данных.

  1. Чтобы отобразить готовую Связывающую строку, щелкните в диалоговом окне на знаке «плюс» (+) рядом с элементомConnection String.

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

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

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

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

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

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

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

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

Рис. 5.6.3-24

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

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

Перетащить на форму элемент управления DataGridView1.

Щелкнуть на треугольнике в правом верхнем углу элемента DataGridView1. Откроется контекстное окноDataGridView Задачи.

Раскрыть всплывающее окно Выбрать источник данных и внизу этого окна щелкнуть на ссылкеДобавить источник данных проекта....

После этого откроется окно Мастер настройки источника данных – Выбор типа источника данных,в котором надо выделить источник –База данныхи щелкнуть на кнопкеДалее.

В появившемся новом окнеМастер настройки источника данных – Выбор подключения базы данныхщелкнуть на кнопкеДалее.

В появившемся новом окнеМастер настройки источника данных – Выбор объектов базы данныхследует выбрать (поставит флажок) в квадратеТаблицы, а затем щелкнуть на кнопкеГотово.

Используя верхний треугольник элементов DataGridView2, необходимо выбрать для элементаDataGridView2таблицуСТУДЕНТЫ.

Для отображения на форме таблицы Оценкинеобходимо проделать аналогичные шаги сDataGridView2.

Первая форма будет иметь вид как на рис. 5.6.3-22.

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

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

ByVal e As System.EventArgs) Handles MyBase.Load

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

'в таблицу "Database2DataSet.Оценки".

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

Me.ОценкиTableAdapter.Fill(Me.Database2DataSet.Оценки)

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

'в таблицу "Database2DataSet.Студенты".

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

Me.СтудентыTableAdapter.Fill(Me.Database2DataSet.Студенты)

End Sub

Рис. 5.6.3-25

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

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

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

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

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

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

Реализация модуля Modulе1представлена на рис. 5.6.3.26.

Module Module1

Public Sub vivod(ByVal t As String, ByVal B As TextBox)

B.Text = t

End Sub

Public Sub way(ByRef t As String, ByRef d As DataRowCollection, _

ByVal mark As DataRowCollection)

Dim i, j, k, p, n As Integer

n = d.Count

For i = 0 To 2 * (n - 1) Step 2

k = 0 : p = 0

For j = 2 To 4

If mark(i)(j) = 5 Then

k = k + 1

End If

If mark(i + 1)(j) = 5 Then

p = p + 1

End If

Next

If p > k Then

t = t & d(i \ 2)(1) & " группа " & d(i \ 2)(2) & _

" специальность: " _

& d(i \ 2)(3) & vbCrLf

End If

Next

End Sub

End Module

Рис. 5.6.3-26

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

Public Class Form1

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

ByVal e As System.EventArgs) Handles Button1.Click

Me.Hide()

Form2.Show() 'Переход ко второй форме

End Sub

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

ByVal e As System.EventArgs) Handles Button2.Click

End

End Sub

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

ByVal e As System.EventArgs) Handles MyBase.Load

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

'в таблицу "Database2DataSet.Оценки".

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

Me.ОценкиTableAdapter.Fill(Me.Database2DataSet.Оценки)

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

'в таблицу "Database2DataSet.Студенты".

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

Me.СтудентыTableAdapter.Fill(Me.Database2DataSet.Студенты)

End Sub

End Class

Рис. 5.6.3-27

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

Public Class Form2

Public t As String

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

ByVal e As System.EventArgs) Handles MyBase.Load

Dim d As DataRowCollection

Dim mark As DataRowCollection

d = Form1.Database2DataSet.Студенты.Rows

mark = Form1.Database2DataSet.Оценки.Rows

TextBox2.Text = "Контрольныe проводились: " & vbCrLf & _

"Первая :" & mark(0)(1) & vbCrLf

TextBox2.Text = TextBox2.Text & "Вторая: " & mark(1)(1)

t = ""

way(t, d, mark)

vivod(t, TextBox3)

End Sub

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

ByVal e As System.EventArgs) Handles Button1.Click

Me.Hide() : Form1.Show()

End Sub

End Class

Рис. 5.6.3-28

Текущая дата в документе этой формы определяется с помощью элемента DataTimePicker,который выбирается из панели элементов.

Процедура way( )реализует алгоритм, позволяющий выводить на экран документы, о студентах, которые повысили свою успеваемость на второй контрольной по сравнению с первой.

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

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

Рис.5.6.3-29

Рис.5.6.3-30

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

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