SQL存储过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL存储过程
SQL存储过程学习:存储过程的调用
调用带参数存储过程的几种方式
1) 这也是最简单的方法,两个输入参数,无返回值,用于
Insert,Update,Delete操作较多。
以下为引用的内容:
conn.Execute "procname varvalue1,varvalue2"
2) 如果要返回 Recordset 集:
以下为引用的内容:
set rs = server.createobject("adodb.recordset")
rs.Open "Exec procname varvalue1, varvalue2",conn
3) 以上两种方法都不能有返回值,(Recordset除外),如果要得到返回值,需要用Command的方法。
举例:判断用户是否存在
第一步,建立数据表userinfo
id int(4) not null,
fullname varchar(50) not null,
password varchar(20) not null,
nikename varchar(50) not null
第二步,建立存储过程usercheck
CREATE procedure usercheck
@infullname varchar(50),
@inpassword varchar(50),
@outcheck char(3) OUTPUT
as
if exists(select * from userinfo where fullname=@infullname and password=@inpassword) select @outcheck='yes'
else
select @outcheck='no'
注:这里建立了一个带三个参数的存储过程,第一个参数@infullname,这是个输入参数,(用户名);第二个参数@inpassword,也是个输入参数,(密码);第三个参数@outcheck,这是个输出参数,(是否存在此用户),当定义输出参数时在数据类型后必须加上"OUTPUT",字样。
然后,我们带上前两个输入参数在SQL语句中检索是否存在符合条件的用户,如果存在,输出参数的值为"yes",否则为"no"。
第三步,编写ASP程序,调用存储过程
'表单提交标志
if request("ok")=1 then
'建立数据库连接
Set Comm=Server.CreateObject("mand")
Comm.ActiveConnection="DSN=localserver;UID=sa;PWD=;Database=chaiwei"
'以comm对象建立存储过程连接,4代表连接类型为存储过程
mandText="usercheck"
mandType=4
'以p1为名称建立comm对象的parameter方法。将第一个参数fullname追加到p1集合中
'fullname 调用的第一个参数的名称
'200 参数类型varchar型
'1 参数流向输入,输入为1,输出为2
'50 参数的长度50
'request("fullname") 赋参数出始值
Set p1=Comm.CreateParameter("fullname",200,1,50,request("fullname"))
Comm.Parameters.Append p1
'以p1为名称建立comm对象的parameter方法。将第二个参数password追加到p1集合中 '具体同上
Set p1=Comm.CreateParameter("password",200,1,20,request("password"))
Comm.Parameters.App e nd p1
'以p1为名称建立comm对象的parameter方法。将第三个参数check追加到p1集合中 '129 参数类型char型
'2 参数流向输出
'3 参数长度3
Set p1=Comm.CreateParameter("check",129,2,3)
Comm.Parameters.Append p1
'运行存储过程
Comm.Execute
'提出结果,进行处理
if comm("check")="yes"then
response.write "欢迎进入系统!用户名:" & comm("fullname") & "密码:" & comm("password")
else
response.write "对不起,您尚未注册!"
end if
'释放连接
Set Comm=nothing
else