ASP建設(shè)聊天室詳解(1)

2022-06-12發(fā)布者:ylm大小: 下載:0

文件大小:

軟件介紹

若是一個初學(xué)程式設(shè)計,你能夠?qū)崿F(xiàn)寫數(shù)據(jù)庫、自動刷新、獲取客戶IP的實驗,那么,實際上建設(shè)聊天室也就完成了一大半。首先,要完成這幾個實驗,我們至少要熟悉一些asp腳本及一些SQL命令。

  1、<%IP=Request("REMOTE_ADDR")%>
   您的IP地址為:
   <%=IP%>

   這是一段獲取客戶IP的腳本,如果你看過《ASP教程》,你應(yīng)該知道REMOTE_ADDR是
   一個服務(wù)器環(huán)境變量,返回發(fā)出請求的遠(yuǎn)程主機(client)的IP地址。

  2、<%
   Set Conn=Server.CreateObject("ADODB.Connection")
   Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft access     Driver (*.mdb)};"

   Conn.Open connstr
   sql="SELECT * FROM 在線用戶表 WHERE 姓名=" & Request("name") & ""
   Set Rs=conn.Execute(sql)

   If Rs.Bof OR Rs.Eof Then
    sz = "" & Request("name") &_
    ", "& Request("D4") &_
    ", "& time1 & ""
    into_db = "INSERT INTO 在線用戶表 ( 姓名, 性別, 登陸時間 ) VALUES(" &_
    sz & ")"
    conn.Execute(into_db)
   end if
   %>

   這是一段十分常見的對數(shù)據(jù)庫操作的腳本,其中包含了對數(shù)據(jù)庫的條件查詢與記錄添加。上面此段程序我們分三部分來分析,如上以空格分隔的三個部分。
  要使用組件提供的對象,請創(chuàng)建對象的實例并將這個新的實例分配變量名。使用ASP的Server.CreateObject方法可以創(chuàng)建對象的實例,使用腳本語言的變量分配指令可以為對象實例命名,如下例:
   Set Conn=Server.CreateObject("ADODB.Connection")
   這里的變量Conn 是ASP 程序創(chuàng)建的訪問數(shù)據(jù)庫的對象實例 。
  我們要訪問數(shù)據(jù)庫,首先要必須知道這個數(shù)據(jù)庫在哪里,這個數(shù)據(jù)庫的驅(qū)動程序是什么,要指定這兩點有兩種方法:第一是在服務(wù)器端手動創(chuàng)建數(shù)據(jù)庫源名、指定數(shù)據(jù)庫路徑、指定數(shù)據(jù)庫驅(qū)動程序,這個方法是通過服務(wù)器端的控制面版中的 ODBC 來設(shè)置的。她的優(yōu)點是可以限定數(shù)據(jù)庫的訪問權(quán)限,增加數(shù)據(jù)庫的安全性,缺點是數(shù)據(jù)庫不易移植。
  再有一種方法是使用 ASP 來指定數(shù)據(jù)庫路徑及數(shù)據(jù)庫驅(qū)動程序。不必手動對創(chuàng)建數(shù)據(jù)庫源。在此例中,我們用的是第二種方法。server.mappath("chat.mdb")指定數(shù)據(jù)庫路徑,DRIVER={Microsoft Access Driver (*.mdb)};指定數(shù)據(jù)庫驅(qū)動程序,此例中我們使用的是MS ACCESS 數(shù)據(jù)庫。

  SELECT是 SQL 查詢命令。sql="SELECT * FROM 在線用戶表 WHERE 姓名=" & Request("name") & "" 表示查詢 數(shù)據(jù)庫chat.mdb中的 在線用戶表 中所有姓名等于Request("name")的人,Request("name")是讀取表單中名為 NAME 的數(shù)據(jù)。

  Bof 是文件開頭,Eof是文件結(jié)尾。If Rs.Bof OR Rs.Eof Then...語句往往用于判斷數(shù)據(jù)庫中是否存在符合條件的記錄,如果為真則記錄不存在,如果為假則記錄存在。
  INSERT INTO是SQL中的插入命令,往往用于插入一條記錄。

  上面此段程序,整體的意思就是:查詢數(shù)據(jù)庫在線用戶表中是否存在用戶Request("name"),如果不存在這個用戶則把這個用戶添加到在線用戶表中。

  3、<meta http-equiv="refresh" content="4">
   這是一條最簡單的頁面自動刷新腳本,她是HTML腳本,而不是ASP腳本。很簡單吧,其意思是每4秒鐘刷新一次,但在使用過程中,你會發(fā)現(xiàn)會出現(xiàn)有不少問題出現(xiàn)。

發(fā)表評論(共0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī),評論內(nèi)容只代表網(wǎng)友觀點,發(fā)表審核后顯示!

版權(quán)聲明:

1 本站所有資源(含游戲)均是軟件作者、開發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!

2 本站將不對任何資源負(fù)法律責(zé)任,所有資源請在下載后24小時內(nèi)刪除。

3 若有關(guān)在線投稿、無法下載等問題,請與本站客服人員聯(lián)系。

4 如侵犯了您的版權(quán)、商標(biāo)等,請立刻聯(lián)系我們并具體說明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784

返回頂部