有关存储过程,再次请教!
前些日子有关存储过程,各位给了不少的帮助,谢谢各位!!但是我的问题并没有最终解决,我如何在ASP中用返回的参数?各位建议的sql1 = "exec ..." 我只能向内传递数据。写一简单的存储过程,希望各位能指教到根源上,多谢!
create procedure test
@machine_code varchar(24) output,
@rtn varchar(2) output,
@reccount int output,
@line_no varchar output
as
select @reccount = count(*) from machine_code where line_no = @line_no
if @reccount > 0 @rtn = 1
select @machine_code = machine_code from machine_code where line_no = @line_no and ...
else @rtn = -1
我在asp中要用machine_code,reccount,rtn,并要传入line_no,希望各位大虾能给于指点,不胜感激!!
问题点数:30、回复次数:7Top
1 楼redstone(redstone)回复于 2000-12-12 12:06:00 得分 0
关注!
set rs=conn.execute("exec test 12")
不行吗?Top
2 楼dhwan(大海湾)回复于 2000-12-12 13:57:00 得分 0
set rs=conn.execute("test 1")就可以了,其中,“1”就是你要传入的变量line_no。
要用返回值时,这样就可以:
rs("machine_code")
rs("reccount")
rs("rtn")Top
3 楼xh0001(Wave Lee)回复于 2000-12-14 16:33:00 得分 5
to dhwan:
很好,谢谢!
若用command的方法Parameters应该如何写程序?
Top
4 楼lessonwaver(waver)回复于 2000-12-18 15:28:00 得分 0
to redstone:
我想向外传值,不能用记录集。Top
5 楼xh0001(Wave Lee)回复于 2000-12-21 13:33:00 得分 10
各位高手,请继续!!!!Top
6 楼xh0001(Wave Lee)回复于 2000-12-21 13:33:00 得分 0
各位高手,请继续!!!!Top
7 楼lettam(剑风)回复于 2000-12-21 14:56:00 得分 15
怎么你的所有的变量都是输出的啊?????
create procedure test
@machine_code varchar(24) output,
@rtn varchar(2) output,
@reccount int output,
@line_no varchar input
as
select @reccount = count(*) from machine_code where line_no = @line_no
if @reccount > 0 @rtn = 1
select @machine_code = machine_code from machine_code where line_no = @line_no and ...
else @rtn = -1
在你的asp页面中:
mycomm=server.createObject("adodb.Command")
mycomm.ActiveConnection=myconn
mycomm.CommText=test
mycomm.Commandtype=adCMdstoredproc
mycomm.parameters.append mycomm.Createparameter("rtn",advarchar,adparamoutput,2)
……………………
mycomm.Execute
在调用时可以这样:
mycomm("rtn")=
Top




