说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何捕捉KEY VIOLATION等错误-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
如何捕捉KEY VIOLATION等错误-Delphi资料

我们可以用意外捕获技术得到错误句柄,然后进入我们自己的出错处理程序:

function DBError(DataSet:TDataSet;E:EDatabaseError;var Action:TDataAction);

const eKeyViol=9729;

var iDBIError:Integer;

begin

if (e is edbengineerror) then

begin

idbierror:=(e as edbenginerror).errors[0].errorcode;

//如果你想找到其它的错误号,可以打印出这个值,如showmessage(inttostr(idbierror));以后就可以在case中捕捉那种错误

case idbierror of

ekeyviol:

begin

messagedlg('主键重复!'

mtWarning

[mbOK]

0);

abort;

end;

end;

在程序中可以这样

procedure tmainform.table1editerror(dataset:tdataset;e:edatabaseerror;var action:tdataaction);

begin

dberror(table1

e

action);

end;

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘