Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 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; просмотров: 190; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.007 с.) |