完成有管理技巧的ASP留言板
發表時間:2023-08-15 來源:明輝站整理相關軟件相關文章人氣:
[摘要]今天我們來寫一個有管理功能的留言板程序。所謂的管理功能,其實就是每條留言前有一個選擇框,點中要刪除的留言,或者點“刪除所有留言”,就完成了批量刪除。通過這一實例,我們可以初步了解ASP中對數據庫的基...
今天我們來寫一個有管理功能的留言板程序。所謂的管理功能,其實就是每條留言前有一個選擇框,點中要刪除的留言,或者點“刪除所有留言”,就完成了批量刪除。通過這一實例,我們可以初步了解ASP中對數據庫的基本操作。
一、建立數據庫(ACCESS2000中文版)
myid 文本型 20字節 這是發言的唯一標志
myname 文本型 10字節 這是保存留言人姓名的
nowtime 日期/時間型 這里記錄了留言時間
mytitle 文本型 30字節 這是留言的題目
mybody 備注 留言內容
其中的myid字段是關鍵,它是刪除的唯一標志。
二、管理程序
manage.asp代碼
'先定義變量
dim listrs,conn,cmd
'可根據實際留言數量修改i的循環次數
for i=1 to 100
if request("delit"&i)<>empty then
'上面這條語句為關鍵部分,檢查第i條留言是否被選中,若被選中,則執行下面的刪除操作
Set conn = Server.CreateObject("ADODB.Connection")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("guestbook.mdb")&";"
'mappath函數要用一個參數guestbook.mdb,表示要連接的數據庫,注意路徑問題
conn.Open sConnection
'再連接數據表
set cmd=Server.Createobject("ADODB.Command")
set cmd.activeconnection=conn
cmd.commandtext="delete from guest where myid='"&request("delit"&i)&"'"
'上面的guest是數據表的表名,myid是字段名
cmd.execute
set conn=Nothing
set cmd=Nothing
'執行SQL指令及釋放對象
end if
next
'輸出表單,注意action屬性指向manage.asp
response.write ""
'連接數據庫
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.Open sConnection
listrs.open "select * from guest",conn,2,2
'上面打開了數據庫的guest表
i=1
'變量i開始記數
while not listrs.eof
response.write "來自:"&listrs("myname")&"----"&listrs("mytitle")&"時間:"&listrs("nowtime")&"
"&listrs("mybody")&"
"
i=i+1
'上面兩步是關鍵處,輸出每條留言的同時,輸出一個checkbox復選框,此框功能是選中與不選中將返回不同值
listrs.movenext
wend
set listrs=Nothing
'輸出提交按鈕和表單結束標志
response.write
三、代碼分析
代碼不太好理解,且聽我說來:
1.程序首次執行時,if request("delit"&i)<>empty then總是返回假值,因為復選框未被選中,接著輸出所有的留言。
2.在選中了要刪除的留言后,按下“刪除按鈕”,重新執行。
3.刪除全部選中的留言后,再輸出留言板。