create proc pr_inter_reg @cpname nvarchar(40)
as
create table #t(str nvarchar(20))
select * from Tlogname where logname=@cpname
if @@rowcount>0 ----------------------------标志 1
begin
insert #t select '登陆名存在!'
end
else
begin
insert #t select '注册成功!'
begin tran inter_insert
insert Tlogname select @cpname,',1,',null,null,''
insert Tcompany_user select lognid,@cpname
from Tlogname where logname=@cpname
insert Tcuser_assist select lognid,'n'
from Tlogname where logname=@cpname
insert Tcuser_bill select lognid,'0',3
from Tlogname where logname=@cpname
if @@error<>0 goto error_sign -->改這里
--commit tran inter_insert -->不要這行
commit tran
select '操作成功﹗'
end
error_sign:
if @@error<>0
begin
rollback tran
select '失敗操作﹗'
endgo
as
create table #t(str nvarchar(20))
select * from Tlogname where logname=@cpname
if @@rowcount>0 ----------------------------标志 1
begin
insert #t select '登陆名存在!'
end
else
begin
insert #t select '注册成功!'
begin tran inter_insert
insert Tlogname select @cpname,',1,',null,null,''
insert Tcompany_user select lognid,@cpname
from Tlogname where logname=@cpname
insert Tcuser_assist select lognid,'n'
from Tlogname where logname=@cpname
insert Tcuser_bill select lognid,'0',3
from Tlogname where logname=@cpname
if @@error<>0 goto error_sign -->改這里
--commit tran inter_insert -->不要這行
commit tran
select '操作成功﹗'
end
error_sign:
if @@error<>0
begin
rollback tran
select '失敗操作﹗'
endgo
as
--加一下这句
set nocount on-- create table #t(str nvarchar(20))
--不必临时表,变量就可以了
declare @str varchar(200)select * from Tlogname where logname=@cpname
if @@rowcount>0 ----------------------------标志 1
begin
--insert #t select '登陆名存在!'
set @str='登陆名存在!'
end
else
begin
--insert #t select '注册成功!'
set @str='注册成功!' begin tran inter_insert
insert Tlogname select @cpname,',1,',null,null,''
if @@error!=0 or @@rowcount=0
begin
rollback tran inter_insert
set @str='异常出错'
goto NextStep
end
insert Tcompany_user select lognid,@cpname
from Tlogname where logname=@cpname
if @@error!=0 or @@rowcount=0
begin
rollback tran inter_insert
set @str='异常出错'
goto NextStep
end
insert Tcuser_assist select lognid,'n'
from Tlogname where logname=@cpname
if @@error!=0 or @@rowcount=0
begin
rollback tran inter_insert
set @str='异常出错'
goto NextStep
end
insert Tcuser_bill select lognid,'0',3
from Tlogname where logname=@cpname
if @@error!=0 or @@rowcount=0
begin
rollback tran inter_insert
set @str='异常出错'
goto NextStep
end
else
begin
commit tran inter_insert
end
end
NextStep:
-- select str from #t
select @str as str
go呵呵,两个记录集返回的方法应该不如用返回值的方法错了不管!!!哈,哈哈,哈哈哈......
as
set nocount ondeclare @r int
set @r=0
select * from Tlogname where logname=@cpname
if @@rowcount>0 ----------------------------标志 1
begin
set @r=1
end
else
begin begin tran inter_insert
insert Tlogname select @cpname,',1,',null,null,''
if @@error!=0 or @@rowcount=0
begin
rollback tran inter_insert
set @r=2
goto NextStep
end
insert Tcompany_user select lognid,@cpname
from Tlogname where logname=@cpname
if @@error!=0 or @@rowcount=0
begin
rollback tran inter_insert
set @r=2
goto NextStep
end
insert Tcuser_assist select lognid,'n'
from Tlogname where logname=@cpname
if @@error!=0 or @@rowcount=0
begin
rollback tran inter_insert
set @r=2
goto NextStep
end
insert Tcuser_bill select lognid,'0',3
from Tlogname where logname=@cpname
if @@error!=0 or @@rowcount=0
begin
rollback tran inter_insert
set @r=2
goto NextStep
end
else
begin
commit tran inter_insert
end
end
NextStep:go
错了不管!!!哈,哈哈,哈哈哈......
我在asp 程序中要如何得到str 或者 r呢???
其实在asp程序中如果异常出错,就是表插入失败时是返回出错信息的,就是页面出错
所以你只要知道注册成功了还是登陆名已经存在,所以你也不要什么临时表或者什么临时变量,你只要看一下你的第一个select,就是select * from Tlogname where logname=@cpname
在asp程序中判断这个记录集是否为空,为空就是注册成功了,不为空就是登陆名存在至于如何得到变量或者临时表的值我也不知道,呵呵,个人意见。。