运用ASP调用数据库中视图及存储过程
作者:本站整理 来源:asp之家 发布时间:2008-02-03 15:33:00
标签:数据库,存储过程,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)的详细参考。


猜你喜欢
- 本文实例讲述了Python tkinter事件高级用法。分享给大家供大家参考,具体如下:先来看看运行效果:完整实例代码:# -*- codi
- JavaScript网页–跨年倒计时,供大家参考,具体内容如下最近学弟在追一个学妹,我在帮学弟出谋划策。学妹告诉学弟,我怕我们之间是因为这段
- 1. 前言对于列表类型的大量数据,前端展示往往采用 分页 和 无限滚动 的方式来展示,对于用户来说,鼠标滚轮和触控屏使滚动行为要比点击更快更
- 如何显示一个等待或欢迎信息? <% Response.Buffer = True %
- 一、需求说明在Python程序的开发过程中,一些程序需要获取函数或程序的开始时间、结束时间和时间间隔等内容用来分析和处理内容二、需求分析涉及
- RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。RSS搭建了信息迅速传
- pytorch里面的maxpool,有一个属性叫ceil_mode,这个属性在api里面的解释是ceil_mode: when True,
- Vue给数组第一位添加对象数据核心代码如下: this.menuBar.unshift({
- 1. 栗子为了加深大家的印象,首先我们来看个例子:图示如下:2. 矩形计算面积我们知道,在数学中,积分运算表示上述曲线和x轴围成的封闭区域的
- python模块导入细节本文主要介绍了关于python模块导入的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧官方
- 需求:1. 可输入代码,并且代码语法高亮2. 支持编辑和不可编辑模式3. 提交到后端到代码内容为字符串格式实现在gitbug上找到vue-p
- 前言最近在爬行 nosec.org 的数据,看了下需要模拟登录拿到cookie后才能访问想抓的数据,重要的是 nosec.org 的登录页面
- 字节串bytes字节串也叫字节序列,是不可变的序列,存储以字节为单位的数据字节串表示方法:b"ABCD"b"\
- 本文实例为大家分享了Django下完成文件上传和下载功能的具体代码,供大家参考,具体内容如下一、文件上传Views.pydef upload
- if exists (select * from dbo.sysobjects where id = object_id(N'[db
- 以前我浏览博客的时候记得别人说过,BCELoss与CrossEntropyLoss都是用于分类问题。可以知道,BCELoss是Binary
- JIRA介绍: JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪、需求
- 前言前面我们已经安装好了Docker,也简单了解了Docker。下面就来给大家介绍下Docker创建Mysql容器的简单步骤,话不多说了,来
- 一、re.findall函数介绍它在re.py中有定义:def findall(pattern, string, flags=0): &nb
- 前言MySQL是目前非常流行的数据库之一,也是中小企业持久化存储的首选数据库。不同于我们日常学习,在实际应用中,MySQL服务都会挂载在某台