五、关闭数据对象和链接对象 在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。 内容来自www.paper51.com
Record Set.close http://www.paper51.com Set Record Set=Nothing 内容来自论文无忧网 www.paper51.com /关闭创建的数据对象 copyright paper51.com mConn.close 内容来自www.paper51.com
Set mConn=Nothing http://www.paper51.com /关闭创建的链接对象 内容来自www.paper51.com 2.7 ASP与CGI的比较 内容来自www.paper51.com CGI(Common Gateway Interface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。我们现对二者进行比较。 http://www.paper51.com Active Server Pages开发Web应用程序的特点: 内容来自www.paper51.com
1. 完全嵌入HTML,与HTML、Script语言完美结合。 copyright paper51.com
2. 无须手动编译和链接程序。 内容来自论文无忧网 www.paper51.com 3. 面向对象,并可扩展ActiveX Server组件功能。 copyright paper51.com
4. 使用脚本语言(JavaScript、VBScript或PERL)编写。 copyright paper51.com 5. 存取数据库轻松容易(使用ADO组件)。 http://www.paper51.com
6. 可使用任何语言编写自己的ActiveX Server组件。 内容来自www.paper51.com 7. 无浏览器兼容问题。 copyright paper51.com 8. 程序代码隐藏,客户端仅能看到ASP输出的HTML文件。 内容来自www.paper51.com 9. 缩短Web开发时间。 内容来自www.paper51.com 相比之下,使用CGI开发Web应用程序具有以下缺点: http://www.paper51.com
1. 不易与HTML文件集成。 内容来自www.paper51.com
2. 须使用其他较复杂的语言来开发CGI程序。 内容来自www.paper51.com 3. 程序开发时间较长。 内容来自www.paper51.com
4. 存取数据库不容易。 内容来自www.paper51.com
每个CGI程序被不同用户执行时都得重新执行一次,并占去Server的一个端口(Port),降低Server效率。ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本文选择了ASP作为个性化页面生成器的开发工具。 paper51.com 第三章 数据库设计 copyright paper51.com
3.1 利用ASP进行动态数据查询 内容来自www.paper51.com 为了将从数据库中获得的数据显示在客户端浏览器中,需要在ASP文件中加入Table对象。Table对象可以用来显示从Server端数据库中通过SQL查询得到的记录。使用Dreamweaver等可视化工具可以方便地对*.ASP文件进行用户界面的设计。包括添加Table对象、动态GIF文件等。以下是本网站中的一段查询代码: 内容来自www.paper51.com <% 内容来自论文无忧网 www.paper51.com word=request(trim("Keyword")) http://www.paper51.com set records=server.CreateObject("ADODB.recordset") paper51.com
ifrequest("select2")="精确" then paper51.com if request("select1")="科" then http://www.paper51.com sql="select * from kebiaowhere keID ='"&word&"' or chinesename='"&word&"' or latinname='"&word&"'" http://www.paper51.com
elseifrequest("select1")="属" then 内容来自论文无忧网 www.paper51.com sql="select * from shubiaowhere shuID ='"&word&"' or chinesename='"&word&"' or latinname='"&word&"'" paper51.com elseifrequest("select1")="种" then copyright paper51.com
sql="select * from zhongbiaowhere zhongID ='"&word&"' or chinesename='"&word&"' or latinname='"&word&"'" 内容来自论文无忧网 www.paper51.com elseifrequest("select1")="标本" then 内容来自www.paper51.com sql="select * from specimenbiaowhere biaoID ='"&word&"' or chinesename='"&word&"' or latinname='"&word&"'" 内容来自论文无忧网 www.paper51.com end if paper51.com if err.number<> 0 then 内容来自www.paper51.com
response.write "数据库操作失败:"&err.description 内容来自论文无忧网 www.paper51.com end if paper51.com elseifrequest("select2")="模糊" then http://www.paper51.com if request("select1")="科" then paper51.com sql="select * from kebiaowhere keID like '%"&word&"%' or chinesename like '%"&word&"%' or latinname like '%"&word&"%'" copyright paper51.com
elseifrequest("select1")="属" then paper51.com sql="select * from shubiaowhere shuID like '%"&word&"%' or chinesename like '%"&word&"%' or latinname like '%"&word&"%'" http://www.paper51.com
elseifrequest("select1")="种" then 内容来自www.paper51.com
sql="select * from zhongbiaowhere zhongID like '%"&word&"%' or chinesename like '%"&word&"%' or latinname like '%"&word&"%'" 内容来自www.paper51.com
elseifrequest("select1")="标本" then 内容来自论文无忧网 www.paper51.com sql="select * from specimenbiaowhere biaoID like '%"&word&"%' or chinesename like '%"&word&"%' or latinname like '%"&word&"%'" paper51.com end if paper51.com if err.number<> 0 then paper51.com response.write "数据库操作失败:"&err.description http://www.paper51.com end if paper51.com end if paper51.com records.opensql,connectstr,1,3 内容来自论文无忧网 www.paper51.com
%> copyright paper51.com
当Web Server处理完用户的HTTP请求后,将结果发送至浏览器上,用户就可以看到结果。 paper51.com 3.2 ASP访问数据库 内容来自www.paper51.com 3.2.1 ASP内置对象和组件 http://www.paper51.com ASP提供了功能强大的六个内置对象和五个内置组件 内容来自论文无忧网 www.paper51.com 内置对象: http://www.paper51.com (1)Request(请求):从前端用户取得信息 copyright paper51.com (2)Response(响应):将信息送给前端用户 内容来自www.paper51.com (3)Server(服务器):提供Web服务器工具 内容来自www.paper51.com (4)Session(会话):储存在一次会话内的用户信息,仅被该用户访问 内容来自www.paper51.com
(5)Application(应用):管理所有的会话信息,供所有用户共享 内容来自论文无忧网 www.paper51.com (6)ObjectContext(对象上下文):配合Transaction服务器进行分布式事务处理 内容来自www.paper51.com 前三个很常用,Request和Response是用来实现web Server与浏览器交互。Request的一个重要方法是ForM(),其作用是提取浏览器的用户输入信息。如下面的语句可以取得用户填在文本框里面的内容:Request.Form(“nane”)显然,这比CCI等方法所需要的复杂编程简单多了。而输出要用到Response的一个重要方法Write,如:“Response.write our message”该语句向浏览器输出了一条消息。 内容来自www.paper51.com 内置组件: copyright paper51.com
(1)数据库存取组件:ASP提供ADO来存取具有ODBC标准的数据库 copyright paper51.com (2)广告轮显组件:用来维护、构建Internet广告 内容来自www.paper51.com (3)浏览器兼容组件:将浏览器的功能数据提供给服务器,以便送出适合于各种浏览器的Web页面 内容来自www.paper51.com (4)文件存取组件:提供文件读写的工具 内容来自www.paper51.com (5)文件超链接组件:提供对Web页面的管理 http://www.paper51.com
|