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

2022-06-12發(fā)布者:ylm大?。?/span> 下載:0

文件大小:

軟件介紹

在分析范例程序之前,我們最好來分析一下幾點(diǎn):
  1、在我們往數(shù)據(jù)庫中寫入數(shù)據(jù)庫時(shí),記錄是不斷往數(shù)據(jù)表的尾部增加的,因此,我們必須知道哪一句話是最新的,哪一句話在前面說的,我們知道,在MSaccess數(shù)據(jù)庫表中,有一個(gè)自動編號的字段ID,這個(gè)字段非常有用,ID最大的記錄是最新輸入的記錄,每添加一個(gè)記錄,ID自動加1,由此,我們可通過ID來對用戶的話進(jìn)行從新到舊的、一句一句的排序輸出。我們知道,在 SQL 的SELECT 語中有一個(gè) ORDER BY的子句,他按一列或多列對結(jié)果進(jìn)行升序或降序排序。如果我們不用ORDER BY 字句,那SELECT 默認(rèn)為升序輸出,那我們會看到,最舊的發(fā)言總是在前面顯示,而最新的語句則跑到最后面去,那當(dāng)然不是我們所希望的。
  2、再一點(diǎn),那就是用戶不斷的往數(shù)據(jù)庫中輸入語句,數(shù)據(jù)庫將會變得越來越大,而我們?yōu)榱怂俣?,我們不能也不必要讀取全部的記錄把所有的話顯示出來,我們只需要看到最新的N句話比如最新的50句話就夠了。如何實(shí)現(xiàn)上面兩點(diǎn),且來看看范例程序:

我們來分析一下下面的程序:chatview.asp

<%Response.Buffer=true%>                 設(shè)置緩存為真

<%                            指定數(shù)據(jù)庫      
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
%>

<%
sql="SELECT * FROM 聊天表 ORDER BY ID DESC"        降序輸出查詢結(jié)果    
Set rootRs=conn.Execute(sql)
set name=rootrs("姓名")                  從數(shù)據(jù)庫中獲取姓名、說話、顏色、表情等
set Word=rootrs("說話")
set colo=rootrs("顏色")
set face=rootrs("表情")
set who=rootrs("說話對象")
%>

<%i=0%>                          定義輸出記錄數(shù) i


<%Do While Not rootRs.Eof and i<=50%>         顯示50句話,包括姓名、話語、顏色、表情等
<%i=i+1%>
<table border=0 cellpadding=0 cellspacing=0 width=85%><tr>
<td width=100% bgcolor=#C0C0C0></td></tr><tr><td width=100%>
<font color=#0000FF><strong><%=name%></font></strong><font color=#008080><%=face%></font><font color=#0000FF><strong><%=who%>說:
</font></strong><font color=<%=colo%>><%=word%>
</font></td></tr><tr>
<td width=100% bgcolor=#C0C0C0></td></tr></table><br>
<%rootRs.MoveNext
Loop%>

<meta http-equiv="refresh" content="4">           每四秒鐘刷新一次

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

版權(quán)聲明:

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

2 本站將不對任何資源負(fù)法律責(zé)任,所有資源請?jiān)谙螺d后24小時(shí)內(nèi)刪除。

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

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

返回頂部