明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

完成有管理技巧的ASP留言板

[摘要]今天我們來寫一個有管理功能的留言板程序。所謂的管理功能,其實就是每條留言前有一個選擇框,點中要刪除的留言,或者點“刪除所有留言”,就完成了批量刪除。通過這一實例,我們可以初步了解ASP中對數(shù)據(jù)庫的基...

    今天我們來寫一個有管理功能的留言板程序。所謂的管理功能,其實就是每條留言前有一個選擇框,點中要刪除的留言,或者點“刪除所有留言”,就完成了批量刪除。通過這一實例,我們可以初步了解ASP中對數(shù)據(jù)庫的基本操作。
    
  一、建立數(shù)據(jù)庫(ACCESS2000中文版)

myid      文本型   20字節(jié)   這是發(fā)言的唯一標(biāo)志
myname    文本型   10字節(jié)   這是保存留言人姓名的
nowtime   日期/時間型    這里記錄了留言時間
mytitle   文本型   30字節(jié)   這是留言的題目
mybody    備注    留言內(nèi)容
    
  其中的myid字段是關(guān)鍵,它是刪除的唯一標(biāo)志。
    
  二、管理程序

    manage.asp代碼
    '先定義變量
    dim listrs,conn,cmd
    '可根據(jù)實際留言數(shù)量修改i的循環(huán)次數(shù)
    for i=1 to 100
    if request("delit"&i)<>empty then
    '上面這條語句為關(guān)鍵部分,檢查第i條留言是否被選中,若被選中,則執(zhí)行下面的刪除操作
    Set conn = Server.CreateObject("ADODB.Connection")
    sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("guestbook.mdb")&";"
    'mappath函數(shù)要用一個參數(shù)guestbook.mdb,表示要連接的數(shù)據(jù)庫,注意路徑問題
    conn.Open sConnection
    '再連接數(shù)據(jù)表
    set cmd=Server.Createobject("ADODB.Command")
    set cmd.activeconnection=conn
    cmd.commandtext="delete from guest where myid='"&request("delit"&i)&"'"
   '上面的guest是數(shù)據(jù)表的表名,myid是字段名
   cmd.execute
   set conn=Nothing
   set cmd=Nothing
   '執(zhí)行SQL指令及釋放對象
   end if
   next
   '輸出表單,注意action屬性指向manage.asp
   response.write ""
   '連接數(shù)據(jù)庫
   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
    '上面打開了數(shù)據(jù)庫的guest表
    i=1
    '變量i開始記數(shù)
    while not listrs.eof
    response.write "來自:"&listrs("myname")&"----"&listrs("mytitle")&"時間:"&listrs("nowtime")&"
"&listrs("mybody")&"
"
    i=i+1
   '上面兩步是關(guān)鍵處,輸出每條留言的同時,輸出一個checkbox復(fù)選框,此框功能是選中與不選中將返回不同值
    listrs.movenext
    wend
    set listrs=Nothing
   '輸出提交按鈕和表單結(jié)束標(biāo)志
    response.write

三、代碼分析
    
  代碼不太好理解,且聽我說來:
    
  1.程序首次執(zhí)行時,if request("delit"&i)<>empty then總是返回假值,因為復(fù)選框未被選中,接著輸出所有的留言。
    
  2.在選中了要刪除的留言后,按下“刪除按鈕”,重新執(zhí)行。

  3.刪除全部選中的留言后,再輸出留言板。