K
kangshijiu
Unregistered / Unconfirmed
GUEST, unregistred user!
我用三层结构,中间层中执行的存储过程,如果存储过程中Rollback了就报错,返回值也就不回传了,有没有办法把值传过来啊。
例:CREATE procedure test
@test_in Integer,
@test_out Integer output
as
begin
Tran
set @test_out =3
select @test_in
goto Error
commit Tran
Return
Error:
Rollback Tran
raiserror 99999 '0000'
return @test_out
GO
中间层用adoQuery,客户端用clientDataSet得到参数,如果中间层没问题,cds会返回值,
中间层中执行事务回滚了后中间层报错就没有返回值了,怎么办。
还有,存储过程返回的错误信息也给中间层包装,也不知道怎么样直接传过来原信息。
例:CREATE procedure test
@test_in Integer,
@test_out Integer output
as
begin
Tran
set @test_out =3
select @test_in
goto Error
commit Tran
Return
Error:
Rollback Tran
raiserror 99999 '0000'
return @test_out
GO
中间层用adoQuery,客户端用clientDataSet得到参数,如果中间层没问题,cds会返回值,
中间层中执行事务回滚了后中间层报错就没有返回值了,怎么办。
还有,存储过程返回的错误信息也给中间层包装,也不知道怎么样直接传过来原信息。