Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Imports System.Data.SqlClient
8. Web-форма Calls использует для доступа к данным компоненты, определенные в файле Global.asax, поэтому вам понадобятся ссылки на компоненты (они хранятся в переменных состояния), созданные во время выполнения задания 2. Ниже показан код, объявляющий ряд объектов и обрабатывающий событие Page_Load. Этот код получает ссылки на компоненты для работы с БД, делая их доступными коду формы:
Dim ContactMgmt As SqlConnection Dim adptContacts As SqlDataAdapter Dim adptCalls As SqlDataAdapter Dim dsContacts As New dsContacts() Private Sub Page_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' Получить сеансовые переменные состояния. ContactMgmt = Session("ContactMgmt") adptContacts = Session("adptContacts") adptCalls = Session("adptCalls") dsCalls = Session("dsCalls") dsContacts = Session("dsContacts") ' Этот код выполняется при первом отображении формы. If Not IsPostBack Then ' Заполнить набор данных Contacts. AdptContacts.Fill(dsContacts) ' Для каждой строки таблицы... Dim rowNext As dsContacts.ContactsRow For Each rowNext In dsContacts.Contacts '...создать новый элемент списка. Dim lstNew As New ListItem() lstNew.Text = rowNext.FirstName & " " & rowNext.LastName lstNew.Value = rowNext.ContactID ' добавить элемент к раскрывающемуся списку. DrpContacts.Items.Add(lstNew) Next ' Выбрать первый элемент в списке. drpContacts.SelectedIndex = 0 End If End Sub 9. Web-форма Calls модифицирует набор данных Calls во время выполнения. Чтобы после обработки страницы записать набор данных обратно в переменную состояния, необходимо добавить к обработчику события Page_PreRender (это последнее событие, которое обрабатывается перед отображением страницы) следующий код:
Private Sub Page_PreRender(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MyBase.PreRender ' Записать набор данных в сеансовую переменную состояния. Session("dsCalls") = dsCalls End Sub
10. Добавьте к обработчикам события Click кнопок View и Add следующий код:
Private Sub butView_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles butView.Click ' Создать команду для выборки из набора данных. adptCalls.SelectCommand.CommandText = "SELECT * FROM Calls " & _ "WHERE ContactID=" & drpContacts.SelectedItem.Value ' Очистить набор данных. DsCalls.Clear ' Заполнить набор данных сведениями о звонках. AdptCalls.Fill(dsCalls) ' Связать элемент управления DataList с данными. DlstCalls.DataBind() End Sub Private Sub butAddCall_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles butAddCall.Click
' Задать исходные значения даты и времени. txtDate.Text = Now.ToShortDateString() txtTime.Text = Now.ToShortTimeString() ' Сделать панель для добавления звонков видимой. pnlAdd.Visible = True ' Деактивировзть кнопки и раскрывающийся список. butView.Enabled = False butAddCall.Enabled = False drpContacts.Enabled = False End Sub
11. Добавьте вспомогательную функцию, которая получает новое значение CalllD. Поскольку поле CalllD является первичным ключом в таблице Calls, его значение должно быть уникальным внутри БД:
' Эта функция возвращает новое уникальное значение CalllD. Private Function GetCallID() As Integer Dim cmdNewID As New SqlCommand("SELECT MAX(CallID)" & _ " FROM Calls", 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 Sub
12. Добавьте к обработчикам событий кнопок ОК и Cancel код, показанный ниже. Он очень похож на обработчики событий, использованные для добавления (или отмены добавления) записей в таблицу Contacts (см. предыдущее задание).
Private Sub butOKAdd_Click(ByVal sender As System.Object, _
|
|||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 117; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.190.93 (0.006 с.) |