运用ASP调用数据库中视图及存储过程

2016-02-19 19:07 6 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的运用ASP调用数据库中视图及存储过程教程,一起来看看吧!超容易上手~

【 tulaoshi.com - Web开发 】

  一、前言

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

  二、ASP模型

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1620038.html

延伸阅读
存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,FienReport使用时只要调用即可。 调用Oracle存储过程主要有两步:第一步,定义存储过程;第二步,调用存储过程。 下面以一个具体的实例来学习如何使用FineReport调用Oracle存储过程的。 第一步,Oracel定义存储过程 StScroe是Oracele数据库中的张...
标签: ASP
引言 本文针对ASP程序设计中最基础、也是最关键的部分"数据库文件的调用"进行说明,同时谈谈ASP程序设计中数据库文件调用的一些技巧。 ASP简介 ASP(Active Server Pages)是微软于1996年推出的Web应用程序开发技术,它是一种脚本语言、ActiveX组件及HTML语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生...
标签: ASP
数据库文件调用的技巧 (1)事实上,无论换成哪个Access数据库,打开数据库连接与读取表记录的步骤是相同的,其中的变量在于数据库文件的名称及表的名称,所以可以将上述程序的第3~13行改写成函数的形式,并存成一个文件如:ADOFunctions.asp,日后要打开某个数据库文件的话,就把该文件ADOFunctions.asp 装(include)进来,代码如下...
标签: ASP
上述代码中函数名称为:GetSQLRecordset,文件名为ADOSQLFunctions.asp。 现在,利用该文件就可以调用任何Access数据库的连接,同时对表记录进行筛选的操作。以Friend.mdb文件为例,列出表data中所有的记录,程序代码如下: <HTML><BODY> <!--#include file="adovbs.inc"--> <!--#include file="ADOSQLFunctions.asp"--> <%...
可能有不少朋友使用SQL SERVER做开发也已经有段日子,但还没有或者很少在项目中使用存储过程,或许有些朋友认为根本没有必要使用存储过程等等。其实当你一个项目做完到了维护阶段时,就会发现存储过程给我们带来了好处了,修改方便,不能去改我们的应用程序,只需要改存储过程的内容,而且还可以使我们的程序速度得到提高。   引用:...

经验教程

869

收藏

65
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部