|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。 当咱们把下面的法式保留在具有履行权限的办事器目次中,在客户端用阅读器翻开时,咱们见到了平凡聊天室一样的用户上岸界面。咱们因而输出用户名及暗码,按发送时,咱们所输出的材料便会黑暗存入用户数据库中。接着便呈现了讲话筐,咱们试着输出一句话,点讲话按钮,这时候,咱们的讲话便会带着咱们所输出的话,咱们所选择的措辞对象,咱们所选择的色彩和脸色写入讲话数据库中。然而,讲话以后,咱们并没有发明任何语句呈现在屏幕上,那是由于:这个法式自己担任的地道是把数据库写入数据库,他不会向客户端前往任何器材,除非你的输出是毛病的。
聊天室还需求一个主要的法式,这个法式主动的、不休的读取数据库中最新的纪录,把他显示在一切用户的阅读器上。这个法式与其余任何法式没有任何干系,他的独一的义务是读取讲话数据库中的数据,把他显示出来,他不论客户是不是输出讲话,不论客户对谁措辞,不论客户选择甚么脸色与色彩。当这个聊天室即便没有一团体措辞,这个法式也是不休的读取这个数据库,每N秒钟刷新一次,这个N是由编程者决意的。
由此,咱们可知:上岸_讲话局部与主动刷新局部是没有任何接洽的。
在剖析典范法式之前,咱们最好来剖析一下几点:
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"> 每四秒钟刷新一次
请把此法式存为chatview.asp
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天 |
|