在ASP中使用存储过程
使用存储过程有许多好处,它可以封装复杂的数据逻辑,充分发挥大型数据库本身的优势。我们知道,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中使用存储过程原来是这样的简单。对!就是这么简单。
推荐阅读
-
编程开发之--Oracle数据库--存储过程在out参数中使用光标(3)
-
Asp.net Core中如何使用中间件来管理websocket
-
Spinner在Dialog中的使用效果实例代码详解
-
Oracle存储过程之数据库中获取数据实例
-
关于在vscode使用webpack指令显示"因为在此系统中禁止运行脚本"问题(完美解决)
-
为什么SQL2005在新建复制找不到存储过程提示错误:2812 的解决方法
-
在ASP中使用均速分页法提高分页速度的方法
-
sqlserver数据库使用存储过程和dbmail实现定时发送邮件
-
mssql使用存储过程破解sa密码
-
在vue中,v-for的索引index在html中的使用方法