ASP网页设计聊天室建立详解四
使用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
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天 掌握asp的特性而且一定要知道为什么。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
页:
[1]
2