如何检测输入字段值与主关键字的冲突?(100分)

  • 主题发起人 主题发起人 luj
  • 开始时间 开始时间
L

luj

Unregistered / Unconfirmed
GUEST, unregistred user!
我是一名Delphi初学者,在编程中碰到一些问题,请各位大侠不吝指教。
进行数据输入时,如何在BDE报错之前,检测关键字段的输入值,与数据表中
现有数据的冲突?
 
研究一下..../Delphi4/Demos/Db/Dberrors的例子有利需要的内容
 
const
eKeyViol = 9729;
在table的onposterror事件中写如下代码
procedure TDM.CustomerPostError(DataSet: TDataSet;
E: EDatabaseError; var Action: TDataAction);
begin
if (E is EDBEngineError) then
if (E as EDBEngineError).Errors[0].Errorcode = eKeyViol then
begin
MessageDlg('Unable to post: Duplicate Customer ID.', mtWarning, [mbOK], 0);
Abort;
end;
end;

仔细研究一下..../Delphi4/Demos/Db/Dberrors的例子有利需要的内容
 
可以在存入之前先检查一下,
使用sql语句: select count(*) from table where 关键字=输入
如果返回值为0则可以存入.

再就是用触发器了.
 
Liu JZX, Tangqs,谢谢!
觉得用Liu所说的示例来做更完善些。故给Liu70, Tang30。
若不公正,可与我联系。:)
再次谢谢!
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部