唐山网站建设

设为主页 加入收藏 繁體中文

应用ASP调用数据库中视图及存储进程

核心提示:ASP (Active Server Pages) 是服务器真个脚本编写环境,它由微软公司的IIS3.0以上版本支持。它可用来创建动态 Web 页或天生功能强大的 Web利用程序。

1、前言

ASP (Active Server Pages) 是服务器真个脚本编写环境,它由微软公司的IIS3.0以上版本支持。它可用来创建动态 Web 页或天生功能强大的 Web利用程序。ASP页是包括 HTML 标记、文本和脚本命令的文件。ASP页可调用ActiveX组件来履行任务,例如连接到数据库或进行商务计算。通过ASP,可为您的Web页添加交互内容或用HTML页构成全部Web利用程序,这些利用程序使用HTML页作为您的客户的界面。

2、ASP模型

浏览器从Web服务器上要求 .asp文件时,ASP 脚本开始运行。然后Web服务器调用ASP,ASP全面读取要求的文件,履行所有脚本命令,并将Web页传送给浏览器。

ASP提供了1个在HTML页中使用现有脚本语言如 Microsoft VBScript 和 Microsoft JScript 的框架。

ASP提供内建对象,这些对象使用户更轻易搜集通过浏览器要求发送的信息、响应浏览器和存储用户信息。包括Application、Request、Response、Server、Session 和ObjectContext 对象。其中最为常常使用的为Request、Response 和Server3个对象,它们分别用于从浏览器要求信息、向浏览器发送信息和访问服务器上对象的属性和方法。

3、ADO

ASP和后台数据库连接使用微软的ADO(ActiveX Data Objects),ADO是1项轻易使用并且可扩大的将数据库访问添加到Web页的技术。可使用ADO往编写紧凑简明的脚本以便连接到Open Database Connectivity(ODBC)兼容的数据库和 OLE DB兼容的数据源。

ADO包括7个内置对象,它们分别为Connection、Command、RecordSet、Fields、Error、Parameters和Properties。通过这些对象,ASP可以完成对后台数据库的所有操纵。

4、ASP调用视图和存储进程

在1般的MIS利用中,会有大量的报表,此时我们可以在后台数据库编写相应的视图或存储进程,用ASP通过ADO调用以完成报表工作。下面用1个例子说明相应的操纵进程。

1、创建 ODBC DSN 文件

在创建数据库脚本之前,必须提供1条使ADO定位、标识和与数据库通讯的途径。数据库驱动程序使用Data Source Name (DSN) 定位和标识特定的ODBC兼容数据库,将信息从 Web 利用程序传递给数据库。

2、调用数据库视图

访问数据库信息的第1步是和数据库源建立连接。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中提供的标准方法,但存在1个题目,就是当在存储进程中有两个以上的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)的具体参考。

5、结束语

在B/S结构的开发中,我们可以把1些贸易规则或复杂查询用存储进程在DBMS中编写,然后用ASP中的ADO对象调用,完成原来C/S结构中的传统功能。

唐山网站建设www.fw8.net
TAG:数据库,进程,脚本,对象,视图
评论加载中...
内容:
评论者: 验证码: