一、前言
ASP (Active Server Pages) 是服务器端的脚本编写环境,它由微软公司的IIS3.0以上版本支持。它可用来创建动态 Web 页或生成功能强大的 Web应用程序。ASP页是包括 HTML 标记、文本和脚本命令的文件。
|
|
|||
二、ASP模型
如图1所示,浏览器从Web服务器上请求 .asp文件时,ASP 脚本开始运行。然后Web服务器调用ASP,ASP全面读取请求的文件,执行所有脚本命令,并将Web页传送给浏览器。
ASP提供了一个在HTML页中使用现有脚本语言如 Microsoft VBScript 和 Microsoft JScript 的框架。
ASP提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息。包括Application、Request、Response、Server、Session 和ObjectContext 对象。其中最为常用的为Request、Response 和Server三个对象,它们分别用于从浏览器请求信息、向浏览器发送信息和访问服务器上对象的属性和方法。
三、ADO
ASP和后台数据库连接使用微软的ADO(ActiveX Data Objects),ADO是一项容易使用并且可扩展的将数据库访问添加到Web页的技术。可以使用ADO去编写紧凑简明的脚本以便连接到Open Database Connectivity(ODBC)兼容的数据库和 OLE DB兼容的数据源。
ADO包含7个内置对象,它们分别为Connection、Command、RecordSet、Fields、Error、Parameters和Properties。通过这些对象,ASP可以完成对后台数据库的所有操作。
四、ASP调用视图和存储过程
在一般的MIS应用中,会有大量的报表,此时我们可以在后台数据库编写相应的视图或存储过程,用ASP通过ADO调用以完成报表工作。下面用一个例子说明相应的操作过程。
1.创建 ODBC DSN 文件
在创建数据库脚本之前,必须提供一条使ADO定位、标识和与数据库通讯的途径。数据库驱动程序使用Data Source Name (DSN) 定位和标识特定的ODBC兼容数据库,将信息从 Web 应用程序传递给数据库。
2. 调用数据库视图
访问数据库信息的第一步是和数据库源建立连接。ADO提供Connection对象,可以使用该对象建立和管理应用程序和 ODBC数据库之间的连接。
<%
Set Dataconn = Server.CreateObject("ADODB.Connection") '建立连接对象
Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft (R) Developer Studio;WSID=APP_SERVER;Regional=Yes"
Set cmdTemp = Server.CreateObject("ADODB.Command") '建立命令对象
Set rst= Server.CreateObject("ADODB.Recordset") '建立记录集对象
cmdTemp.CommandText = "Customers "
cmdTemp.CommandType = 2
Set cmdTemp.ActiveConnection = DataConn
rst.Open cmdTemp, , 1, 3 '生成查询结果
%>
此时,Customers为视图,从视图中查询数据与从基表中查询数据的方法是相同的。
3.调用数据库存储过程
<%
Set Dataconn = Server.CreateObject("ADODB.Connection") '建立连接对象
Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft (R) Developer Studio;WSID=APP_SERVER;Regional=Yes"
Set cmdTemp = Server.CreateObject("ADODB.Command") '建立命令对象
Set rst = Server.CreateObject("ADODB.Recordset") '建立记录集对象
cmdTemp.CommandText = "dbo.pd_test" '存储过程名称
cmdTemp.CommandType = 4 '命令类别为4,表示为存储过程
Set cmdTemp.ActiveConnection = Dataconn
Set tmpParam = cmdTemp.CreateParameter("Return Value", 3, 4, 4)
cmdTemp.Parameters.Append tmpParam
Set tmpParam = cmdTemp.CreateParameter("@BeginDate", 135, 1, 16, riqi)
'创建输入参数对象
cmdTemp.Parameters.Append tmpParam
rst.Open cmdTemp, , 1, 3 '生成查询结果
%>
这里调用的存储过程为pd_test,这种是ADO中提供的标准方法,但存在一个问题,就是当在存储过程中有两个以上的SELECT语句,但从逻辑上又不可能同时执行的时候,ADO会提示你存储过程中SELECT语句太多,解决方法是直接用ADO的CONNECTION对象的EXECUTE方法直接执行存储过程,如下:
<%
Set Dataconn = Server.CreateObject("ADODB.Connection") '建立连接对象
Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft (R) Developer Studio;WSID=APP_SERVER;Regional=Yes"
ss = "EXECUTE dbo.pd_test " & "'" & riqi1 & "'"
Set rs = dataconn.Execute(ss)
%>
有关ASP和ADO使用的详细信息,请参阅 Microsoft ActiveX Data Objects (ADO) 和Active Server Pages(ASP)的详细参考。
五、结束语
在B/S结构的开发中,我们可以把一些商业规则或复杂查询用存储过程在DBMS中编写,然后用ASP中的ADO对象调用,完成原来C/S结构中的传统功能。
相关图文阅读
频道图文推荐
相关专题
·MySQL中文参考手册7(MySQL存取权限系统)gra (1967次浏览)
·防止sql注入的简单方法 (1903次浏览)
·用ASP调用SQLServer的视图和存储过程 (975次浏览)
·IIS、ASP.NET和SQLServer的安全性问题 (112次浏览)
·SQL Server 2005对海量数据处理 (47次浏览)
·50种方法巧妙优化SQL Server数据库 (37次浏览)
·SQL Server连接VFP数据库的实现 (35次浏览)
·SQL循序渐进(15)IN 和 BETWEEN 条件运算符 (27次浏览)
·解决SQL Server虚拟内存不足情况 (17次浏览)
·打造SQL Server2000的安全策略 (16次浏览)
·防止sql注入的简单方法 (1903次浏览)
·用ASP调用SQLServer的视图和存储过程 (975次浏览)
·IIS、ASP.NET和SQLServer的安全性问题 (112次浏览)
·SQL Server 2005对海量数据处理 (47次浏览)
·50种方法巧妙优化SQL Server数据库 (37次浏览)
·SQL Server连接VFP数据库的实现 (35次浏览)
·SQL循序渐进(15)IN 和 BETWEEN 条件运算符 (27次浏览)
·解决SQL Server虚拟内存不足情况 (17次浏览)
·打造SQL Server2000的安全策略 (16次浏览)
·MySQL中文参考手册7(MySQL存取权限系统)gra (1967次浏览)
·防止sql注入的简单方法 (1903次浏览)
·用ASP调用SQLServer的视图和存储过程 (975次浏览)
·SQL Server开发者Oracle快速入门 (181次浏览)
·精细分析SQL server服务器的内存配置 (155次浏览)
·IIS、ASP.NET和SQLServer的安全性问题 (112次浏览)
·利用标准SQL语句实现查询记录分页 (55次浏览)
·比较SQL Server约束和DML触发器 (49次浏览)
·SQL Server 2005对海量数据处理 (47次浏览)
·初探 SQL Server 2008 “Katmai ” (42次浏览)
·防止sql注入的简单方法 (1903次浏览)
·用ASP调用SQLServer的视图和存储过程 (975次浏览)
·SQL Server开发者Oracle快速入门 (181次浏览)
·精细分析SQL server服务器的内存配置 (155次浏览)
·IIS、ASP.NET和SQLServer的安全性问题 (112次浏览)
·利用标准SQL语句实现查询记录分页 (55次浏览)
·比较SQL Server约束和DML触发器 (49次浏览)
·SQL Server 2005对海量数据处理 (47次浏览)
·初探 SQL Server 2008 “Katmai ” (42次浏览)
·MySQL中文参考手册7(MySQL存取权限系统)gra (1967次浏览)
·防止sql注入的简单方法 (1903次浏览)
·用ASP调用SQLServer的视图和存储过程 (975次浏览)
·MS-SQL开发常用汇总和t-sql技巧集锦 (404次浏览)
·SQL Server开发者Oracle快速入门 (181次浏览)
·轻松维护SQL Server 2005数据库 (160次浏览)
·精细分析SQL server服务器的内存配置 (155次浏览)
·教你如何在SQL Server计算列和平均值 (137次浏览)
·SQL Server 查询分析器快捷键集合 (123次浏览)
·解析SQL Server数据在不同数据库中的应用 (118次浏览)
·防止sql注入的简单方法 (1903次浏览)
·用ASP调用SQLServer的视图和存储过程 (975次浏览)
·MS-SQL开发常用汇总和t-sql技巧集锦 (404次浏览)
·SQL Server开发者Oracle快速入门 (181次浏览)
·轻松维护SQL Server 2005数据库 (160次浏览)
·精细分析SQL server服务器的内存配置 (155次浏览)
·教你如何在SQL Server计算列和平均值 (137次浏览)
·SQL Server 查询分析器快捷键集合 (123次浏览)
·解析SQL Server数据在不同数据库中的应用 (118次浏览)
最新技术文档
·用ASP调用SQLServer的视图和存储过程 07-19
·防止sql注入的简单方法 07-18
·MySQL中文参考手册7(MySQL存取权限系统)grant设置 07-18
·IIS、ASP.NET和SQLServer的安全性问题 07-16
·SQL Server连接VFP数据库的实现 07-16
·SQL循序渐进(15)IN 和 BETWEEN 条件运算符 07-15
·解决SQL Server虚拟内存不足情况 07-13
·50种方法巧妙优化SQL Server数据库 07-11
·SQL Server 2005对海量数据处理 07-10
·打造SQL Server2000的安全策略 07-10
·防止sql注入的简单方法 07-18
·MySQL中文参考手册7(MySQL存取权限系统)grant设置 07-18
·IIS、ASP.NET和SQLServer的安全性问题 07-16
·SQL Server连接VFP数据库的实现 07-16
·SQL循序渐进(15)IN 和 BETWEEN 条件运算符 07-15
·解决SQL Server虚拟内存不足情况 07-13
·50种方法巧妙优化SQL Server数据库 07-11
·SQL Server 2005对海量数据处理 07-10
·打造SQL Server2000的安全策略 07-10
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容




