Продолжаем редактировать нашу страницу 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 "научилась" записывать данные в таблицу базы данных.