你的语句有点问题!
creat procedure test
@rtn varchar(2), /*不需要output,如果在另一个过程中要用,才需要output*/
@reccount int ,
@machine_code varchar(24) ,
@line_no varchar(2)
as
select @reccount = count(*) from machine_code where line_no = @line_no
if @reccount > 0
begin
select @rtn = -1
select @machine_code = machine_code from machine_code where line_no
=@line_no
end
else
select @rtn = 1
/*加上输出,把这三个输出就当成是表的列名*/
select machine_code=@machine_code,recount=@recount,rtn=@rtnasp这样调用:
set rs_callsp = server.createobject("adodb.recordset")
rs_callsp.open strsql,connection,1
response.wirte rs_callsp("rtn")
response.wirte rs_callsp("reccount")
creat procedure test
@rtn varchar(2), /*不需要output,如果在另一个过程中要用,才需要output*/
@reccount int ,
@machine_code varchar(24) ,
@line_no varchar(2)
as
select @reccount = count(*) from machine_code where line_no = @line_no
if @reccount > 0
begin
select @rtn = -1
select @machine_code = machine_code from machine_code where line_no
=@line_no
end
else
select @rtn = 1
/*加上输出,把这三个输出就当成是表的列名*/
select machine_code=@machine_code,recount=@recount,rtn=@rtnasp这样调用:
set rs_callsp = server.createobject("adodb.recordset")
rs_callsp.open strsql,connection,1
response.wirte rs_callsp("rtn")
response.wirte rs_callsp("reccount")
adParamOutput)
^^^^^^^^^^^^^
As
insert into basket (idshopper) values(@idshopper);
select @idbasket=@@identity;
return
上面是存储过程,下面是使用代码,下面的代码是ULTRADEV产生的。
Set Cmdidbasket = Server.Createobject("Adodb.Command")
Cmdidbasket.Activeconnection = "dsn-自己更改吧"
Cmdidbasket.Commandtext = "Dbo.Sp_Createbasket"
Cmdidbasket.Parameters.Append Cmdidbasket.Createparameter("Return_Value", 3, 4)
Cmdidbasket.Parameters.Append Cmdidbasket.Createparameter("@Idshopper", 3, 1,5,Cmdidbasket__Idshopper)
Cmdidbasket.Parameters.Append Cmdidbasket.Createparameter("@Idbasket", 3, 2)
Cmdidbasket.Commandtype = 4
Cmdidbasket.Commandtimeout = 0
Cmdidbasket.Prepared = True
Cmdidbasket.Execute()
Session("Idbasket")=Cmdidbasket("@Idbasket")
ULTRADEV是什么东东呀,可以发一份给我?
OICQ:7552667
create table tt12 (a1 varchar(1),a2 varchar(2))
insert tt12 values('1','2')
select a1,a2 from tt12
结果:
a1 a2
---- ----
1 2建立存储过程:
create proc check_tt12 (@a1 varchar(1),@valid binary output)
as
if exists(select * from tt12 where a1=@a1)
select @valid=1
else
select @valid=0联合测试:
declare @valid binary
exec check_tt12 @valid output,'0'
select @valid
exec check_tt12 @valid output,'1'
select @valid联合测试结果:
----
0x00(1 row(s) affected)
----
0x01(1 row(s) affected)
注:以上测试在T-SQL中运行(我更喜欢QuaryAnalyzer)这样在asp中建立数据库连接后可用如下语句来调用
db.execute("check_tt12 '1',<asp变量>")
运行后asp变量被赋值!老兄,sql的book online都没我这个详细.努力吧.其实数据库最难的的结构化和完整性设计.我认为.
用个好一点的文本编辑器写脚本.比如UltraEdit!