用DELPHI做一程序,在连接好ACCESS数据库的情况下,通过在TdxDbgrid控件中直接输入数据添加到后台数据表中。按钮的单击事件处理如下:
with ADOTable1 do
begin
Append;
FieldValues['PFH'] := '新配方';
Post;
end;
其中,配方表的PFH字段为主键,不允许重复。
这样当输入重复的数据,单击按钮时,会提示“由于在用索引、主关键字、或关系表中创建重复数据,对表的修改没有成功……”
这种提示是正常的,因为有重复数据。但是我要解决的问题是:
当输入重复的数据时,在数据库提示这个信息前,怎样捕捉到这个信息,用自己定义的提示内容代替它?使数据库提示的这个信息不显示。请大家帮帮我吧!!!
with ADOTable1 do
begin
Append;
FieldValues['PFH'] := '新配方';
Post;
end;
其中,配方表的PFH字段为主键,不允许重复。
这样当输入重复的数据,单击按钮时,会提示“由于在用索引、主关键字、或关系表中创建重复数据,对表的修改没有成功……”
这种提示是正常的,因为有重复数据。但是我要解决的问题是:
当输入重复的数据时,在数据库提示这个信息前,怎样捕捉到这个信息,用自己定义的提示内容代替它?使数据库提示的这个信息不显示。请大家帮帮我吧!!!
谢谢,这个我知道。但如果这样写:try
with ADOTable1 do
begin
Append;
FieldValues['PFH'] := '新配方';
Post;
end;
except
showmessage('字段重复!');
end;
还是显示数据库提示的错误。我是想在数据库提示错误之前捕捉它,然后用自己定义的提示内容代替它。应该在OnBeforePost事件里写代码的。
捕捉数据库提示的错误应该是:ADOConnetion1.Errors.Error[0].CurError //或者是……
但怎样用自己定义的提示内容代替它呢?
请继续讨论。谢谢!