用ADOQuery删除时出错,怎么样捕获出错的信息(20分)

  • 主题发起人 主题发起人 潮州人
  • 开始时间 开始时间

潮州人

Unregistered / Unconfirmed
GUEST, unregistred user!
在要删除一条记录时,如果其它人之前以将这条记录删除,那么一定会出错,我想怎么样捕获出错的信息,
使程序可以继续运行.原码如下:
procedure TSuppliersForm.btnDeleteClick(Sender: TObject);
begin //删除厂家
if ConfirmBox('记录被删除将不能恢复,你是否确实要删除该记录?') = ID_Cancel then
Exit
else begin
dxDBGrid1.DeleteSelection;
end
end;
 
怎么没有人遇到这个问题吗?
 
procedure TSuppliersForm.btnDeleteClick(Sender: TObject);
begin //删除厂家
if ConfirmBox('记录被删除将不能恢复,你是否确实要删除该记录?') = ID_Cancel then
Exit
else begin
try
dxAdoTable.Delete; //删除当前纪录
showmessage('success');
except
//on E : EDabaseError do //加上此句也可
showmessage('Fail');
end;
end
end;
 
可在ondeleteerror中处理。
 
to zhanggeye
我知道有这个事件,但不知怎么去使用他,你能给我个例子吗?
 
action 为出错后如何处理.
daFail Abort the operation that led to an error and display an error message.
daAbort Abort the operation that led to an error without displaying a message.
daRetry Repeat the operation that led to an error. The cause of the error should be corrected within the event handler before returning this value.

在ondeleteerror 中设置 action:=daabort
e.message 为出错的提示信息
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
970
import
I
后退
顶部