
Проект Доска объявлений
Проект Поздравительная открытка
Проект Расписание сеансов
Страница Удаление объявления
Для чего предназначена страница Удаление объявления, понятно из ее названия. Обязательным условием выполнения операции удаления является указание идентификатора и пароля, заданных на странице Новое объявление. В элементе управления Label отображается заголовок страницы:
<asp:Label
id="lblTitle"
BorderWidth="7px"
BorderStyle=7
Width="90%"
Font-Size="25pt"
Font-Name="Comic Sans MS"
Тех1="<СЕМТЕК>Удаление объявления</СЕМТЕК>"
runat="server".
/>
Следующим определяется элемент управления ValidationSummary, чтобы пользователь мог получать сообщения об ошибках при передаче формы программе для обработки:
<asp:ValidationSummary
ID="vsAllErrors"
DisplayMode="BulletList"
ShowMessageBox="True"
ShowSummary="False"
runat="server"
HeaderText="0бъявления не может быть обработано по следующим причинам:"
Font-Name="Comic Sans MS"
Font-Size="12"
/>
Затем описывается элемент тextBox, в котором указывается идентификатор объявления, подлежащего удалению:
<asp:TextBox
id="txtID"
Columns="25"
MaxLength="50"
runat=server
/>
Заполнение этого поля обязательно:
<asp:RequiredFieldValidator
id="rfvID"
ControlToValidate="txtID"
ЕггогМеззаде="Необходимо ввести код ID"
Display="Dynamic"
runat=server>
*
</asp:RequiredFieldValidator>
Кроме того, содержащееся в нем значение должно быть целым числом:
<аsр:CompareValidator
id="cvID"
ControlToValidate="txtID"
Operator="DataTypeCheck"
Type="Integer"
ErrorMessage=''Код ID должен выть целым числом"
Display="Dynamic"
runat="server">
*
</asp:CompareValidator>
Еще один элемент управления TextBox служит для ввода пароля, соответствую щего данному объявлению:
<asp:TextBox
id="txtPassword"
Columns="25"
MaxLength="50"
runat=server
/>
И это поле является обязательным для заполнения:
<asp:RequiredFieldValidator
id="rfvPasswoi:d",
ControlToValidate="txtPassword"
ЕггогМеззаде-"Необходимо ввести пароль"
Display="Static"
runat=server>
*
</asp:RequiredFieldValidator>
Кнопка, заключительный элемент, применяется для передачи формы программе:
<asp:button
id="butRemove"
text=" OK "
Type="Submit"
OnClick="SubmitRemove_Cliclc"
runat="server"
/>
Единственная процедура в данной странице активизируется в результате выполнения щелчка на кнопке.
Sub SubmitRemove_Click(Sender As Object, E As EventArgs)
Dim DBConn as OleDbConnection
Dim DBDelete As New OleDbCommand
DBConn = New OleDbConnection("Provider=sqloledb;" _
& "server=localhost;" _
& "Initial Catalog-INETC14;"
& "User Id=sa;"
t "Password=yourpassword;")
DBDelete,CommandText = "Delete From Classifieds Where " _
& "ClassifiedID = " _
& txtlD.Text _
& " and Password = '" _
& Replace(txtPassword.Text, "'", "''")
DBDelete.Connection = DBCpnn
DBDelete.Connection.Open
DBDelete.ExecuteNonQuery()
Response.Redirect("./index.aspx")
End Sub
В объект Command помещается инструкция Delete SQL-запроса:
DBDelete.CommandText = "Delete From Classifieds Where " _
& "ClassifiedID = "
& txtlD.Text _
& " and Password = '" _
& Replace(txtPassword.Text, "'", "''") _
& " ' "
После выполнения этой инструкции пользователь возвращается на домашнюю страницу.
Изменение кода для Access
Для обеспечения взаимодействия приложения с базой данных Access необхо димо внести в код два изменения. Первое изменение касается строки связи:
DBConn = New OleDbConnection('Provider=sqloledb;" _
& "server=localhost;" _
& "Initial Catalog=INETC14;"
& "User Id=sa;" _
& "Password=yourpassword;")
В ней должны быть указаны соответствующие провайдер и база данных:
DBConn = New 01eDbConnection("PROVIDER-Microsoft.Jet.OLEDB.4.0;" _
& "DATA SOURCE=" _
& Server.MapPathr/INetBbok/CH/Classifieds/" _! '
& "Access/Classifieds.mdb;"))
Второе изменение заключается в следующем. В элементе DataGrid на странице Список объявлений из поля типа datetime дата извлекается с помощью функции Convert SQL-сервера:
DBCommand = New OleDbDataAdapter _
("Select ClassifiedID, TitleText, " _
& "Convert(varchar(12),DatePlaced,107) " _
& "as TheDate, Price from Classifieds " _
& "Where CategorylD = " _
& Request.QueryString("CategorylD") _
& " Order By DatePlaced DESC"
, DBConn)
В Access ее заменяет функция Format:
DBCommand = New OleDbDataAdapter _
("Select ClassifiedID, TitleText, "
& "Format(DatePlaced,""mmm dd, yyyy"") " _
& "as TheDate, Price from Classifieds " _ .
& "Where CategorylD = " _
& Request.QueryString("CategorylD") _
& " Order By DatePlaced DESC" _
, DBConn)
|