
Проект Анкета
Проект Подробности
Проект Поиск магазина
Поскольку заранее не известно, сколько вопросов содержится в анкете, необходимо в цикле обработать все элементы, находящиеся в элементе управления Panel. Для этого потребуются такие объекты:
Dim MyControl as Control
Dim
MyDDL as DropDownList
Затем устанавливается соединение с базой данных:
DBConn= New OleDbConnection("Provider-sqloledb;" _ & "server=localhost;" _ & "Initial Catalog=INETCS;" _ & "User Id=sa;" & "Password-yourpassword;")
Объект Command использует объект Connection:
DBInsert.Connection = DBConn
DBInsert.Connection.Open
Потом начинается цикл, обеспечивающий обработку всех элементов, находящихся в элементе управления Panel:
For Each MyControl in pnlQuestions.Controls
Далее осуществляется проверка того, является ли текущий элемент управления элементом DropDownList:
If MyControl.GetTypeО.FullName = _
"System.Web.UI.WebControls.DropDownList" Then
Если это так, он присваивается временному элементу управления DropDownList:
Ответ посетителя на вопрос помещается в таблицу SurveyResponses. Обратите внимание, что ID вопроса сопровождается именем элемента DropDownList:
DBInsert.CommandText - "Insert Into SurveyResponses " _ & "(SurveyQuestionID, SurveyResponse) " _ & "values (" _ &
Mid(MyDDL.ID, 2) & ", "
& " ' ' "
& ReplacefMyDDL.Selectedltem.Text, "'", "''") _ & "') "
DBInsert.ExecuteNonQuery ()
После этого, обрабатывается следующий элемент управления:
Далее нужно получить из базы данных текст завершающего сообщения:
DBCommand = New OleDbDataAdapter _
("SelectSurveyResponse " _
& "From Surveys Where SurveylD = " _
& Application("SurveylD"), DBConn)
DBCommand.Fill(DSPageData, _
"Surveylnfo")
Этот текст помещается в соответствующий элемент управления Label:
IblMessage.Text = DSPageData.Tables("Surveylnfo"). _
Rows(0).Item("SurveyResponse")
Так как посетитель завершил работу с анкетой, элемент управления Panel с вопросами скрывается:
pnlQuestions.Visible = False"
так же, как и элемент управления Button:
|