WEB开发网
开发学院数据库MSSQL Server 用ASP调用SQL Server视图和存储过程 阅读

用ASP调用SQL Server视图和存储过程

 2007-05-15 09:30:49 来源:WEB开发网   
核心提示: 1.创建 ODBC DSN 文件在创建数据库脚本之前,必须提供一条使ADO定位、标识和与数据库通讯的途径,用ASP调用SQL Server视图和存储过程(2),数据库驱动程序使用Data Source Name (DSN) 定位和标识特定的ODBC兼容数据库,将信息从 Web 应用程序传递

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结构中的传统功能。

上一页  1 2 

Tags:ASP 调用 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接