运用ASP调用数据库中视图及存储过程
作者:本站整理 来源:asp之家 时间:2008-02-03 15:33:00
在一般的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)的详细参考。
标签:数据库,存储过程,asp
0
投稿
猜你喜欢
一个简单的ASP生成HTML分页程序
2009-07-05 18:32:00
Oracle10g 安装方法
2009-06-19 17:50:00
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2023-08-18 20:01:36
解决vue项目 build之后资源文件找不到的问题
2024-04-27 16:07:42
Python之基础函数案例详解
2023-07-09 19:43:24
详解python metaclass(元类)
2023-08-21 10:09:04
Go语言中如何通过方法为类型添加行为
2024-01-31 18:02:10
Python语言的12个基础知识点小结
2023-08-23 10:12:07
Pytorch中的model.train() 和 model.eval() 原理与用法解析
2022-06-06 20:51:04
HTTP服务压力测试工具及相关术语讲解
2024-05-08 10:23:31
asp中isNull(str), isEmpty(str)和str=""的区别
2008-02-15 13:10:00
关于Youtube URL的十个技巧
2009-04-21 13:19:00
闲聊html和body标签
2009-02-21 10:50:00
PHP和JavaScrip分别获取关联数组的键值示例代码
2023-06-16 05:30:51
Python sklearn CountVectorizer使用详解
2023-06-20 08:19:05
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2024-05-22 10:41:57
aspx中的mysql操作类sqldatasource使用示例分享
2024-01-21 17:10:14
Python之捕捉异常详解
2022-06-10 02:27:30
PyQt4编程之让状态栏显示信息的方法
2021-07-22 04:11:19
ASP函数指针试探-GetRef
2009-10-12 12:39:00