欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

浅谈在ASP中调用SQL SERVER中的存储过程

时间:2011-04-23  作者:秩名

论文导读:ASP (ActiveServer Pages) 是服务器端的脚本编写环境,可用来创建动态Web页、生成功能强大的Web应用程序和各种基于B/S结构的管理系统。本文就针对ASP调用SQL SERVER中的存储过程来谈谈自己的观点。下面主要介绍如何利用COMMAND对象来对存储过程的调用。
关键词:ASP,存储过程,COMMAND对象,CONNECTION对象
ASP (ActiveServer Pages) 是服务器端的脚本编写环境,可用来创建动态Web页、生成功能强大的Web应用程序和各种基于B/S结构的管理系统。ASP技术以通俗易懂的编程方式受到广大读者的青睐,读者通过短期的基础知识及实例培训即可开发出自己的WEB网站。SQLSERVER是WEB站点部署最常用的数据库,它与ASP结合开发成为这一领域的经典合作。本文就针对ASP调用SQL SERVER中的存储过程来谈谈自己的观点。
1、 存储过程的简介
1.1存储过程的定义:
存储过程是一组编译在单个执行计划中的Transact-SQL语句,它将一些固定的操作集中起来交给SQL SERVER数据库服务器完成,以实现某个任务。在需要使用时只要调用即可。
1.2使用存储过程的优点
1)通过本地存储、代码预编译和缓存技术实现高性能的数据操作。存储过程是SQL语句和部分控制流语句的预编译集合,存储过程被进行了编译和优化,当存储过程第一次执行时,SQL SERVER为其产生查询计划并将其保存在内存中,这样以后在调用该存储过程时就不必再进行编译,这能在一定程度上改善系统的性能。
2)通过通用编程结构和过程重用实现编程框架。如果业务规则发生了变化,可以通过修改存储过程来适应新的业务规则,而不必修改客户端应用程序。这样所有调用该存储过程的应用程序就会遵循新的业务规则。
3)通过隔离和加密的方法提高了数据库的安全性。数据库用户可以通过得到权限来执行存储过程,而不必给予用户直接访问数据库对象的权限。这些对象将由存储过程来进行操作。另外,存储过程可以加密,这样用户就无法阅读存储过程中的Transact-SQL命令。这些安全特性将数据库结构和数据库用户隔离开来,这也进一步保证了数据的完整性和可靠性。
2、ASP调用存储过程
ASP页是包括HTML标记、文本和脚本命令的文件。ASP页可调用ActiveX组件来执行任务,也可以通过ADO组件实现对数据库的调用。
2.1 ADO对象简介
ASP通过一组称为ADO的对象模块来访问数据库。这样用户在编码时,就不用考虑数据库的类型,因为ADO对象可以通过OLE DB访问数据库。OLE DB是一种数据库体系结构,它使应用程序可以对存储在不同数据库中的数据进行统一的访问。但在访问数据库之前,必须建立数据库的连接。在ASP中连接数据库主要是利用ADO对象中的connection对象来完成。论文检测。具体见后面的实例。
2.2 ASP利用ADO调用存储过程的方法
在ASP中,调用存储过程的方法一般来说有两种:一种是用execute直接调用存储过程,另一种是利用command对象来调用存储过程。下面分别通过实例来介绍这两种调用方式。
2.2.1用execute直接调用存储过程。
这种方法对调用一些简单的无输出参数的存储过程比较方便。其操作步骤如下:
步骤1:编写sql语句:“execute存储过程名参数”。设在XK数据库中有一student表,其结构为(classno,stuno,stuname,pwd),现要求创建一个存储过程p_student,使之能完成将student表中的所有记录显示在页面上。则所对应的代码为:
Create procedure p_student
As
Select * from student
步骤2:再通过connection.execute或recordset.open执行。为了实现上面的功能,ASP调用存储过程对应的代码如下:
<%
dimstrSQL,rs, strConnString
---开始链接数据库---
strConnString= 'driver={SQL Server};server=(local);uid=sa;pwd=;database=xk'
set rs =Server.CreateObject('ADODB.recordset')
rs.Open ' p_student ',strconnstring,0,1,4
%>/*此时是直接利用recordset.open来执行存储过程的,当然也可用connection对象的execute方法来调用,不过此时要先建一个connection对象*/
虽然利用这两种方法能实现对存储过程的调用,但Recordset对象会要求数据库传送所有的数据,那么数据量很大的时候就会造成网络的阻塞和数据库服务器的负荷过重,从而导致整体的执行效率降低,因此在数据流量大时,常用command对象来完成对存储过程的调用,尤其在用参数查询时其优点更明显。主要是因为Command对象可以直接调用SQL语句,所执行的操作又在数据库服务器中进行的,显然会有很高的执行效率。下面主要介绍如何利用COMMAND对象来对存储过程的调用。
2.2.2利用command对象来完成对存储过程调用
1、ASP中command对象简介
在ASP中Command对象又称为命令对象,是对数据库执行命令的对象,利用它的对象、方法与属性可以执行对数据库的查询、添加、删除和修改记录等操作。
2、 command对象的建立
该对象的建立有两种方法:一种是利用connection对象来建立command对象,另一种是直接建立command对象。由于command对象必须依赖于connection对象,所以直接建立command对象看起来没有明确建立connection对象,但还要隐含地建立一个connection对象。不过,由于没有明确建立,所以就导致connection对象的有些功能无法使用。因此大家一般采用connection对象来建立command对象的。
3、ASP调用存储过程实例
众所周知,存储过程之所以能提高程序的执行效率,主要是因为它能够利用参数查询。为了方便说明,根据存储过程的输入输出,作以下简单分类:
1)只返回单一记录集的存储过程(设有如以下存储过程,它主要是取得student表中的所有记录,即返回一个结果集,当然如果student表是一张空表,则ASP调用存储过程的结果集是既无输入也无输出。其对应代码如下:)
CREATE PROCEDURE p_student
as
select * from student
go
通过command对象调用该存储过程的ASP关键代码如下:
DIM MyComm,MyRst,strconnstring
Set MyComm =Server.CreateObject('ADODB.Command')

查看相关论文专题
加入收藏  打印本文
上一篇论文:浅谈网页设计
下一篇论文:浅谈中小企业网站的制作
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
最新计算机论文
读者推荐的计算机论文