- •Федеральное агенство по образованию
- •Оглавление
- •Часть I
- •Часть II
- •Часть I
- •Лабораторная работа 1(2). Применение форм.
- •DoCmd.OpenForm "Номера групп"
- •Лабораторная работа 2(1) Создание и использование запросов с использованием vba.
- •Лабораторная работа 2(2). Создание и использование запросов.
- •Лабораторная работа №3. Создание отчетов.
- •Ход работы
- •Лабораторная работа №4. Разработка приложения на Visual Basic для ведения однотабличной бд.
- •Лабораторная работа №5 обработка нормализованной многотабличной структуры бд.
- •Лабораторная работа №6. Создание многостраничного web-приложения
- •Задание 1. Создайте новую базу данных.
- •Задание 2. Создание проекта и формы SwitchBoard
- •Создание нового приложения и Web-формы SwitchBoard
- •Задание 3. Добавление компонентов, необходимых для работы с бд.
- •Добавление к приложению компонентов для работы с бд
- •Создание Web-формы для ввода данных AddContact
- •Создание Web-формы Calls
- •Часть II
- •3. Создание файла таблицы данных
- •4. Разработка приложения для работы с таблицей данных
- •5. Структура проекта приложения
- •6. Пример реализации бд о студентах
- •7. Контрольные вопросы
- •8. Требования к отчёту
- •9. Перечень заданий
- •Лабораторная работа №2 создание windows-приложения для работы с базой данных. Генерация отчетов.
- •1. Порядок выполнения работы
- •2. Обработка информации однотабличной базы данных
- •3. Печать данных
- •4. Пример реализации программы расчёта средней оценки
- •4. Контрольные вопросы
- •5. Требования к отчёту
- •Лабораторная работа №3 обработка информации базы данных, имеющей структуру «master-detail». Изучение основ sql.
- •1. Порядок выполнения работы
- •2. Основные сведения о ссылочной целостности. Задание индексов.
- •3. Задание псевдонимов в bde Administrator.
- •4. Установка связей между компонентами и бд. Создание меню.
- •5. Поиск данных.
- •6. Контрольные вопросы
- •7. Требования к отчёту
- •Лабораторная работа №4
- •3. Управление базами данных
- •4. Язык баз данных sql
- •5. Хранимые процедуры
- •6. Связь бд с приложением
- •7.1 Создание mdi интерфейса
- •7.2 Создание модуля данных
- •7.3 Вызов дочерней формы
- •7.4 Форма «Студенты»
- •If q_Spr.State in[dsedit,dsinsert] then q_Spr.Post ; // выход из режима редактирования
- •If q_Spr.UpdatesPending then // если были изменния
- •If MessageDlg('Несохраненные данные будут потеряны. Закрыть? ',
- •7.5 Форма Журнал (j_Ved)
- •7.6 Форма Ведомость (Ved)
- •7.7 Отчет об успеваемости (Rep)
- •8. Контрольные вопросы
- •9. Требования к отчёту
- •Рекомендации к выполнению курсовоГо проекта по дисциплине «Базы данных»
- •Варианты заданий:
- •Рекомендуемая литература по дисциплине «Базы данных»
Создание Web-формы для ввода данных AddContact
1. Добавьте к проекту новую Web-форму и назовите ее AddContact.aspx.
2. В окне Properties выберите объект DOCUMENT и задайте для свойства PageLayout значение FlowLayout.
3. Разместите на Web-форме элементы управления, перечисленные в следующей таблице, и задайте их свойства, как указано в этой таблице.
Элемент управления |
Свойство |
Значение |
TextBox |
ID |
txtFirstName |
TextBox |
ID |
txtLastName |
TextBox |
ID |
txtAddress |
|
TextMode |
MultiLine |
TextBox |
ID |
txtCity |
DropDownList |
ID |
drpStates |
|
DataSource |
arrState |
TextBox |
ID |
txtZIP |
TextBox |
ID |
txtHomePhone |
TextBox |
ID |
txtWorkPhone |
TextBox |
ID |
txtNotes |
DropDownList |
ID |
drpContactTypes |
Button |
ID |
butAdd |
|
Text |
Add |
Button |
ID |
butCancel |
|
Text |
Cancel |
Literal |
ID |
litStatus |
Hyperlink |
Text |
Вернуться на главную |
|
NavigateUrl |
SwitchBoard.aspx |
4. Введите подписи полей прямо на Web-форме, для перехода на новую строку используйте Enter.
5. Вызовите окно Code, дважды щелкнув Web-форму, и добавьте в начало модуля следующий оператор:Imports System.Data.SqlClient
6. Web-форма AddContact использует компоненты БД. созданные в файле Global.asax во время выполнения задания 2. Чтобы получить возможность применять эти компоненты в Web-форме, объявите переменные на уровне класса и получите ссылки на эти компоненты из переменных состояния, где они хранятся. Следующий код демонстрирует, как это делается:
Dim ContactMgmt As SqlConnection
Dim adptContactTypes As SqlDataAdapter
Dim adptContacts As SqlDataAdapter
Dim dsContacts As New dsContacts()
' Это открытые переменные для привязки данных.
Public dsContactTypes As New dsContactTypes()
Public arrState As String() = Московская", "Тульская", "Калужская", "Воронежская", _
"Ростовская", "Владимирская"}
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
' Получить объекты соединения и адаптера из переменной состояния Session.
ContactMgmt = Session("ContactMgmt")
adptContactTypes = Session("adptContactTypes")
adptContacts = Session("adptContacts")
' Заполните набор дачных ContactType.
adptContactTypes.Fill(dsContactTypes)
' Заполните набор данных Contacts.
adptContacts.Fill(dsContacts)
' Связать с данными списки drpContactTypes и drpState.
drpContactTypes.DataBind()
drpStates.DataBind()
End Sub
7. Каждый контакт в таблице Contacts идентифицируется значением поля ContactlD. Это первичный ключ таблицы, следовательно, его значение должно быть уникальным для каждого контактного лица. Поэтому перед добавлением к набору данных Contacts сведений о контактном лице необходимо получить из БД новое уникальное значение ContactlD, для чего к классу Web-формы потребуется добавить следующую вспомогательную функцию (эта функция возвращает новое уникальное значениеContactlD):
Private Function GetNewContactID() As Integer
Dim cmdNewID As New SqlCommand("SELECT MAX(ContactID)" & _
" FROM Contacts", ContactMgmt)
' Открыть соединение с БД.
ContactMgmt.Open()
' Получить наибольшее значение ключа.
Dim intID As Integer
' Проверить, существует ли запись.
If Not (cmdNewID.ExecuteScalar() Is DBNull.Value) Then
' Получить наибольшее число...
intID = CInt(cmdNewID.ExecuteScalar())
Else
' ...или присвоить intID значение О.
intID = 0
End If
' Закрыть соединение.
ContactMgmt.Close()
' Вернуть новое значение ключа (оно будет на единицу больше прежнего)
Return intID + 1
End Function
8. Далее необходимо добавить обработчик события butAdd_Click, который позволяет вставить в БД сведения о новом контактном лице:
Private Sub butAdd_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles butAdd.Click
' Создать новую строку набора данных.
Dim rowNew As dsContacts.ContactsRow
rowNew = dsContacts.Contacts.NewContactsRow()
' Записать в строку данные.
rowNew.ContactID = GetNewContactID()
rowNew.FirstName = txtFirstName.Text
rowNew.LastName = txtLastName.Text
rowNew.Address = txtAddress.Text
rowNew.City = txtCity.Text
rowNew.StateOrProvince = drpStates.SelectedItem.Text
rowNew.PostalCode = txtZip.Text
rowNew.HomePhone = txtHomePhone.Text
rowNew.WorkPhone = txtWorkPhone.Text
rowNew.Notes = txtNotes.Text
rowNew.ContactTypeID = drpContactTypes.SelectedItem.Value
' Добавить строку к набору данных.
dsContacts.Contacts.AddContactsRow(rowNew)
Try
' Обновить БД.
adptContacts.Update(dsContacts)
' Уведомить об успешном завершении операции.
litStatus.Text = rowNew.FirstName & " " & rowNew.LastName & _
" added successfully.<br>"
' Перезагрузить страницу, чтобы очистить поля.
Server.Transfer("AddContact.aspx")
Catch ex As Exception
litStatus.Text = "Произошла ошибка:<br>" & _
ex.Message & "<br>" & _
"Исправьте ошибку и нажмите Добавить " & _
" или Отменить.<br>"
End Try
End Sub
9. Добавьте обработчик события butCancel_Click, чтобы пользователь смог отменить операцию и очистить текстовые поля формы:
Private Sub butCancel_ServerClick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles butCancel.ServerClick
' Перезагрузить страницу, чтобы очистить поля.
Server.Transfer("AddContact.aspx")
End Sub
Задание 5. Создание формы Calls
Web-форма Calls позволяет пользователям вводить и просматривать сведения о телефонных звонках для некоторого контактного лица. Форма содержит элемент управления DataList, позволяющий просматривать звонки контактного липа, указанного в списке элемента управления DropDownList, а также элементы управления, добавляющие сведения о звонке в элемент управления Panel. Таким образом, удается скрывать и отображать их, когда пользователь щелкает кнопку Add.
Готовая Web-форма Calls выглядит, как на рис. 3
Рис. 3