位置:首页 > 软件下载 > UI设计

ASP建设聊天室详解(4)

2022-06-12发布者:ylm大小: 下载:0

文件大小:

软件介绍

在分析范例程序之前,我们最好来分析一下几点:
  1、在我们往数据库中写入数据库时,记录是不断往数据表的尾部增加的,因此,我们必须知道哪一句话是最新的,哪一句话在前面说的,我们知道,在MSaccess数据库表中,有一个自动编号的字段ID,这个字段非常有用,ID最大的记录是最新输入的记录,每添加一个记录,ID自动加1,由此,我们可通过ID来对用户的话进行从新到旧的、一句一句的排序输出。我们知道,在 SQL 的SELECT 语中有一个 ORDER BY的子句,他按一列或多列对结果进行升序或降序排序。如果我们不用ORDER BY 字句,那SELECT 默认为升序输出,那我们会看到,最旧的发言总是在前面显示,而最新的语句则跑到最后面去,那当然不是我们所希望的。
  2、再一点,那就是用户不断的往数据库中输入语句,数据库将会变得越来越大,而我们为了速度,我们不能也不必要读取全部的记录把所有的话显示出来,我们只需要看到最新的N句话比如最新的50句话就够了。如何实现上面两点,且来看看范例程序:

我们来分析一下下面的程序:chatview.asp

<%Response.Buffer=true%>                 设置缓存为真

<%                            指定数据库      
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"        降序输出查询结果    
Set rootRs=conn.Execute(sql)
set name=rootrs("姓名")                  从数据库中获取姓名、说话、颜色、表情等
set Word=rootrs("说话")
set colo=rootrs("颜色")
set face=rootrs("表情")
set who=rootrs("说话对象")
%>

<%i=0%>                          定义输出记录数 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">           每四秒钟刷新一次

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

版权声明:

1 本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!

2 本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。

3 若有关在线投稿、无法下载等问题,请与本站客服人员联系。

4 如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系QQ:2499894784

返回顶部