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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用ASP调用SQL Server的视图和存储过程相关的知识,希望对你有一定的参考价值。

参考技术A         一 前言       ASP (Active Server Pages) 是服务器端的脚本编写环境 它由微软公司的IIS 以上版本支持 它可用来创建动态 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包含 个内置对象 它们分别为Connection Command RecordSet Fields Error Parameters和Properties 通过这些对象 ASP可以完成对后台数据库的所有操作     四 ASP调用视图和存储过程       在一般的MIS应用中 会有大量的报表 此时我们可以在后台数据库编写相应的视图或存储过程 用ASP通过ADO调用以完成报表工作 下面用一个例子说明相应的操作过程      创建 ODBC DSN 文件       在创建数据库脚本之前 必须提供一条使ADO定位 标识和与数据库通讯的途径 数据库驱动程序使用Data Source Name (DSN) 定位和标识特定的ODBC兼容数据库 将信息从 Web 应用程序传递给数据库      调用数据库视图       访问数据库信息的第一步是和数据库源建立连接 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为视图 从视图中查询数据与从基表中查询数据的方法是相同的      调用数据库存储过程     <%   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结构中的传统功能 lishixinzhi/Article/program/SQLServer/201311/22230

怎么查询sql server中一个表的存储过程?

参考技术A 你的意思是 怎样查看创建存储过程的语句吗?\\x0d\\x0a首先要知道 存储过程名称 用 \\x0d\\x0asp_helptext 存储过程名\\x0d\\x0asp_helptext 视图名\\x0d\\x0asp_help 表名\\x0d\\x0a在sql server 语句离执行就可以看到\\x0d\\x0a还可以 找到该数据库 -可编译性-存储过程-找到存储过程名称-右击-修改\\x0d\\x0a就可以查看了

以上是关于用ASP调用SQL Server的视图和存储过程的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 中的存储过程未使用 VB.Net 编码填充 ASP.Net 下拉列表

从视图调用时未插入表的存储过程 - SQL Server 2014

SQL Server 存储过程包含 SQL 或调用查看

SQL Server用存储过程新建视图

SQL SERVER如何查看一个表被哪些存储过程用到?用哪个系统存储过程?

SQL SERVER 存储过程中如何使用传入的DB参数,实现跨库查询?