欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在ASP中使用存储过程

程序员文章站 2022-05-18 14:27:15
    学习使用存储过程(stored procedure),是asp程序员的必须课之一。所有的大型都支持存储过程,比如oracle、ms sql等...
    学习使用存储过程(stored procedure),是asp程序员的必须课之一。所有的大型都支持存储过程,比如oracle、ms sql等,(但ms access不支持,不过,在access里可以使用参数化的查询)。
    使用存储过程有许多好处,它可以封装复杂的数据逻辑,充分发挥大型数据库本身的优势。我们知道,asp并不适合做复杂的数据运算,而通过old db访问数据库,由于数据需要在asp和数据库之间传递,相当消耗资源。事实上,如果数据库仅仅起着数据存储的作用,那么它的功能是远远没有得到利用的。
    关于如何创建存储过程,请参考ms sql的相关文档。
本文介绍存储过程如何在asp中运用。
简单的一个sql语句:
select id,name,picture,time,duty from employ 
我们可以创建一个存储过程:


create procedure sp_employ
as
select id,name,picture,time,duty from employ 
go
 


而sql语句:
select id,name,picture,time,duty from employ where id=10230
对应的存储过程是:(用alter替换我们已有的存储过程)

alter procedure sp_employ
@inid  int
as
select id,name,picture,time,duty from employ  where id=@inid

go
 


下面对比一下sql和存储过程在asp中的情况。首先看看直接执行sql的情况:

<%
dim conn, strsql, rs
set conn = server.createobject("adodb.connection")
conn.open  "dsn=webdata;uid=user;pwd=password" 
strsql = " select id,name,picture,time,duty from employ "
set rs = conn.execute(strsql) 
%> 


再看看如何执行stored procedure:

<%
dim conn, strsql, rs
set conn = server.createobject("adodb.connection")
conn.open  "dsn=webdata;uid=user;pwd=password" ’make connection
strsql = "sp_employ"
set rs = conn.execute(strsql) 
%> 


而执行带参数的stored procedure也是相当类似的:

<%
dim conn, strsql, rs, myint
myint = 1 
set conn = server.createobject("adodb.connection")
conn.open  "dsn=webdata;uid=user;pwd=password"
strsql = "sp_mystoredprocedure " & myint
set rs = conn.execute(strsql) 
%> 


你可能觉得在asp中使用存储过程原来是这样的简单。对!就是这么简单。