`
evget
  • 浏览: 139175 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类

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

阅读更多
文章关键字:|ASP|SQL Server|视图|存储|过程|服务器|环境|微软|IIS|HTML|Web|ActiveX|界面|浏览器|模型|

  一、前言

  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页传送给浏览器。

  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.evget.com/zh-CN/Info/ReadInfo.aspx?id=9247
分享到:
评论

相关推荐

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

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

    asp.net数据库大作业企业人事工资管理

    asp.net c# web sql server 2008简易的管理系统,调用存储过程,视图

    ASP与SQL网页数据库程序设计

    1-5 数据独立 46 3-2 数据库管理系统(DBMS) 46 3-3 关系型数据库 48 3-3-1 数据的表示方法 48 3-3-2 表 49 3-3-3 键 50 3-3-4 表索引 50 3-3-5 视图 51 3-3-6 存储过程 52 3-3-...

    ASP和SQL网站数据库程序设计(DOC)

    ASP和SQL一直深受网站数据库设计人员的喜爱。 本书着重介绍ASP程序设计语言的各种功能及其实际应用, 同时也介绍SQL Server的程序设计技巧。本书将引导读者用ASP语法, 配合数据库系统的开发技巧,构建一个完整的...

    ASP EXCEL导入SQL

    采用企业级的多层次、多应用的系统结构的SaaS在线CRM平台平台架构从大的层次上来分主要为四层,根据调用关系依次为应用层、缓冲层、服务层以及存储层,如下图所示:  应用层  从浏览器发送过来的请求,直接由...

    .net数据访问类 SQL Helper 类

    摘要:Data Access Application Block 是一个 .NET 组件,包含优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。它返回 SqlDataReader、DataSet 和 XmlReader 对象。您可以...

    C#开发经验技巧宝典

    0964 如何调用SQL Server存储过程 563 0965 如何生成SQL数据库脚本 564 0966 SQL Server 2000无法安装的解决办法 565 20.3 其他 565 0967 如何判断记录是否为NULL 565 0968 建立Oracle数据库连接 566 ...

    asp.net知识库

    几段SQL Server语句和存储过程 生成表中的数据的脚本 最详细的SQL注入相关的命令整理 Oracle Oracle中PL/SQL单行函数和组函数详解 mssql+oracle Oracle编程的编码规范及命名规则 Oracle数据库字典介绍 0RACLE的字段...

    ASP.NET3.5从入门到精通

    9.5.3 调用存储过程 9.6 ASP.NET 数据库操作实例 9.6.1 制作用户界面(UI) 9.6.2 使用GridView 显示、删除、修改数据 9.6.3 使用DataList 显示数据 9.6.4 DataList 分页实现 9.6.5 使用SQLHelper 操作数据库 9.7 小...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    7.3.8 调用存储过程 7.4 事务 7.4.1 事务和ASP.NET应用程序 7.4.2 隔离级别 7.4.3 保存点 7.5 提供程序无关的代码 7.5.1 创建工厂 7.5.2 用工厂创建对象 7.5.3 使用提供程序无关的代码的查询 7.6...

    ASP.NET 3.5 开发大全

    9.5.3 调用存储过程 9.6 ASP.NET数据库操作实例 9.6.1 制作用户界面(UI) 9.6.2 使用GridView显示、删除、修改数据 9.6.3 使用DataList显示数据 9.6.4 DataList分页实现 9.6.5 使用SQLHelper操作数据库 9.7 小结 第...

    ASP.NET2.0高级编程(第4版)1/6

    21.3.5 SQL存储过程的调试734 21.4 异常和错误处理735 21.4.1 处理页面上的异常735 21.4.2 处理应用程序异常736 21.4.3 HTTP状态码737 21.5 小结738 第22章 文件I/O和流739 22.1 使用驱动器、目录和文件739 22.1.1 ...

    ASP.NET 3.5 开发大全word课件

    9.5.3 调用存储过程 9.6 ASP.NET数据库操作实例 9.6.1 制作用户界面(UI) 9.6.2 使用GridView显示、删除、修改数据 9.6.3 使用DataList显示数据 9.6.4 DataList分页实现 9.6.5 使用SQLHelper操作数据库 9.7 小结 第...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    ● 提取、创建、处理和存储XML的各种框架 ● 打包和部署ASP.NET应用程序的方法 ● 快速、逻辑地检索、更新和删除数据 本书读者对象 本书适合于有一些ASP.NET基础知识的学习者以及准备迁移到ASP.NET 2.0的有经验...

    ASP.NET 3.5 开发大全11-15

    9.5.3 调用存储过程 9.6 ASP.NET数据库操作实例 9.6.1 制作用户界面(UI) 9.6.2 使用GridView显示、删除、修改数据 9.6.3 使用DataList显示数据 9.6.4 DataList分页实现 9.6.5 使用SQLHelper操作数据库 9.7 小结 第...

    ASP.NET 3.5 开发大全1-5

    9.5.3 调用存储过程 9.6 ASP.NET数据库操作实例 9.6.1 制作用户界面(UI) 9.6.2 使用GridView显示、删除、修改数据 9.6.3 使用DataList显示数据 9.6.4 DataList分页实现 9.6.5 使用SQLHelper操作数据库 9.7 小结 第...

    ASP.NET4高级程序设计(第4版) 3/3

    7.3.8 调用存储过程 227 7.4 事务 229 7.4.1 事务和ASP.NET应用程序 230 7.4.2 隔离级别 234 7.4.3 保存点 235 7.5 提供程序无关的代码 235 7.5.1 创建工厂 236 7.5.2 用工厂创建对象 237 7.5.3 ...

    SQLHelper.cs

    摘要:Data Access Application Block 是一个 .NET 组件,包含优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。它返回 SqlDataReader、DataSet 和 XmlReader 对象。您可以...

Global site tag (gtag.js) - Google Analytics