Продолжаем редактировать нашу страницу Test2.asp. Усложним блок проверки.
<%
strMsg=""
Action = Left(UCase(Request("Action")),5)
If Action = "ENTER" Then
strMsg="Данные получены !!!"
' Добавлен следующий код, в котором мы проверяем,
' что все поля формы заполнены.
If Request("TextBoxName") = "" OR _
Request("EditBoxComment") = "" Then
strMsg="<B>Все поля формы должны быть заполнены.</B>"
End If
End If
%>
Обратите внимание на символ подчеркивания в конце строки If
Request("TextBoxName") = "" OR _
Этим символом выполняется перенос командной строки. Операторы If Then, End If, OR понятны каждому программисту.
А теперь, перед блоком проверки добавим следующий код:
<SCRIPT LANGUAGE=VBScript RUNAT=Server> FUNCTION CheckString (s, endchar) pos = InStr(s, "'") While pos > 0 s = Mid(s, 1, pos) & "'" & Mid(s, pos + 1) pos = InStr(pos + 2, s, "'") Wend CheckString="'" & s & "'" & endchar END FUNCTION </SCRIPT>
Эта функция нам понадобится нам для обработки строковых данных перед составлением SQL-команды. В блок проверки добавляем "ветвь" Else:
If Request("TextBoxName") = "" OR _
Request("EditBoxComment") = "" Then
strMsg="<B>Все поля формы должны быть заполнены.</B>"
Else
' Начинаем "строить" нашу команду для SQL-сервера. Указываем имя БД и имя
' таблицы, затем, перечисляем поля.
strSqlCommand = "insert into DataBaseName..TableName (" &_
"FldStrName," &_
"FldStrComment) " &_
" VALUES ("
' Добавляем значение TextBoxName из нашей формы в предыдущем шаге.
strSqlCommand = strSqlCommand &
CheckString(Request("TextBoxName"),",")
' Добавляем значение EditBoxComment из нашей формы в предыдущем шаге.
strSqlCommand = strSqlCommand &
CheckString(Request("EditBoxComment"),"")
' Создаем соединение с сервером БД
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Session("DBConnectionString")
' Выполняем нашу подготовленную команду strSqlCommand
Conn.Execute(strSqlCommand)
' Закрываем соединение
Conn.Close
End If
Наша страница ASP "научилась" записывать данные в таблицу базы данных.