AdoConnection1.BeginTrans;
try
with spTemp do begin
ProcedureName:='spXXX';
with Parameters do begin
Refresh;
ParamByName('@ANo').value:='';
end
ExecProc;
end;
AdoConnection1.CommitTrans;
Showmessage('完成!');
except
AdoConnection1.RollbackTrans;
showmessage('失败!');
end;
结果,如果在spXXX中出错的话,仍旧会显示对话框“完成”,请问怎么办?
CREATE PROCEDURE spXXX
@ANo varchar(10)
AS
update Table_OK set Num=Num+1 --这是一句正确的语句,如果去掉这一句,则可以捕获到错误,显示“失败”
select * from Table_No --表Table_No是不存在的,但如果有上一句,在程序里则捕获不到此错误
请问怎么解决这个问题啊?
try
with spTemp do begin
ProcedureName:='spXXX';
with Parameters do begin
Refresh;
ParamByName('@ANo').value:='';
end
ExecProc;
end;
AdoConnection1.CommitTrans;
Showmessage('完成!');
except
AdoConnection1.RollbackTrans;
showmessage('失败!');
end;
结果,如果在spXXX中出错的话,仍旧会显示对话框“完成”,请问怎么办?
CREATE PROCEDURE spXXX
@ANo varchar(10)
AS
update Table_OK set Num=Num+1 --这是一句正确的语句,如果去掉这一句,则可以捕获到错误,显示“失败”
select * from Table_No --表Table_No是不存在的,但如果有上一句,在程序里则捕获不到此错误
请问怎么解决这个问题啊?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货