若天明 发表于 2015-2-3 23:31:50

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
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天

蒙在股里 发表于 2015-2-4 01:06:52

掌握asp的特性而且一定要知道为什么。

分手快乐 发表于 2015-2-4 20:57:49

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

小魔女 发表于 2015-2-10 09:31:10

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

不帅 发表于 2015-2-14 16:11:17

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

简单生活 发表于 2015-2-16 16:40:53

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

金色的骷髅 发表于 2015-2-20 02:45:39

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

山那边是海 发表于 2015-3-1 20:25:39

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

老尸 发表于 2015-3-10 23:12:44

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

再见西城 发表于 2015-3-11 13:47:02

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

若相依 发表于 2015-3-11 19:05:13

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

因胸联盟 发表于 2015-3-11 23:01:34

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

只想知道 发表于 2015-3-19 12:05:17

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

海妖 发表于 2015-3-25 12:32:51

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

冷月葬花魂 发表于 2015-3-30 09:43:41

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

再现理想 发表于 2015-4-4 19:42:49

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组

飘飘悠悠 发表于 2015-4-20 03:26:43

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

小女巫 发表于 2015-5-4 04:00:55

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

爱飞 发表于 2015-5-7 14:38:43

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

兰色精灵 发表于 2015-5-8 15:03:45

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
页: [1] 2
查看完整版本: ASP网页设计聊天室建立详解四