为了不让关键字重复,我用如下的语句:
if not table1.FindKey([edit1.text])
then
begin
table1.edit;
table1.InsertRecord([edit1.text,edit2.text]);
table1.Post;
end;
(注:edit1.text对应table1指向的数据库的关键字)
但是,运行时出现 table:dataset not in edit or insert mode
还请各位多多指点。小弟先谢过了!
procedure TForm1.Table1PostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
begin
if E.Message='Key violation.' then
showmessage('键值重复') {如果键值冲突,显示键值重复}
else
showmessage(e.message); {否则,读出错误信息码}
Abort;