Сегодня мы напишем программу-доску объявлений с функциями управления. Так называемая функция управления на самом деле означает, что перед каждым сообщением есть поле выбора. Нажмите на сообщение, которое нужно удалить, или нажмите «Удалить все сообщения», чтобы завершить пакетное удаление. Благодаря этому примеру мы можем получить предварительное представление об основных операциях с базой данных в ASP.
1. Создать базу данных (ACCESS2000 китайская версия)
тип текста myid 20 байт Это единственный признак речи
тип текста myname 10 байт Это имя человека, оставившего сообщение.
nowtime тип даты/времени Здесь записывается время сообщения.
текстовый тип mytitle 30 байт Это заголовок сообщения
Mybody замечает содержание сообщения
Поле myid является ключевым, это единственный признак удаления.
2. Код программы управления
Manage.asp
'Сначала определим переменные
тусклые списки, conn, cmd
'Количество циклов i может быть изменено в соответствии с фактическим количеством сообщений
для я = от 1 до 100
если запрос("delit"&i)<>пустой, то
'Приведенный выше оператор является ключевой частью. Проверьте, выбрано ли i-е сообщение. Если оно выбрано, выполните следующую операцию удаления.
Установить conn = Server.CreateObject("ADODB.Connection")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("guestbook.mdb")&";"
'Функция Mappath использует параметр Guestbook.mdb, указывающий базу данных, к которой необходимо подключиться. Обратите внимание на проблему с путем.
conn.Открыть соединение
'Повторно подключаем таблицу данных
set cmd=Server.Createobject("ADODB.Command")
установите cmd.activeconnection=conn
cmd.commandtext="удалить из гостя, где myid=""&request("delit"&i)&"'"
'Гость выше - это имя таблицы данных, а myid - это имя поля
cmd.execute
set conn=Ничего
установить cmd=Ничего
'Выполнить инструкции SQL и освободить объекты
конец, если
следующий
'Выведите форму. Обратите внимание, что атрибут действия указывает на файл Manage.asp.
ответ.написать ""
'Подключаемся к базе данных
set conn=Server.CreateObject("ADODB.Connection")
set listrs=server.createobject("ADODB.Recordset")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("guestbook.mdb")&";"
conn.Открыть соединение
listrs.open "выбрать * из гостя", conn,2,2
'Гостевая таблица базы данных открыта выше
я = 1
'Переменная i начинает считать
хотя это не listrs.eof
response.write "От:"&listrs("myname")&"----"&listrs("mytitle")&"Time:"&listrs("nowtime")&"
"&listrs("мое тело")&"
"
я=я+1
«Два вышеуказанных шага являются ключевыми моментами. При выводе каждого сообщения выводите флажок. Функция этого поля — возвращать разные значения, когда он установлен или снят.
listrs.movenext
идти
set listrs=Ничего
'Вывод кнопки отправки и флага завершения формы
response.write
3. Анализ кода
Код непросто понять, поэтому позвольте мне объяснить:
1. При первом запуске программы, если request("delit"&i)<>empty, то всегда возвращается ложное значение, поскольку флажок не установлен, и тогда выводятся все сообщения.
2. После выбора сообщения, которое необходимо удалить, нажмите кнопку «Удалить» и повторите процедуру.
3. После удаления всех выбранных сообщений выведите доску объявлений.