哪位兄弟知道怎么解决这个异常类啊?
我的程序点击BUTTON时,老是出现“ERROR”project1.exe raised exception class
EDBEngineError with message 'Key violation.'.Process stopped.Use
Step or Run to continue.当OK后再Run后则出现“ERROR”Key violation.
...全文
974打赏收藏
急!哪位兄弟帮我解决这个异常类啊?多谢!
哪位兄弟知道怎么解决这个异常类啊? 我的程序点击BUTTON时,老是出现“ERROR”project1.exe raised exception class EDBEngineError with message 'Key violation.'.Process stopped.Use Step or Run to continue.当OK后再Run后则出现“ERROR”Key violation.
多谢各位捧场。hignbury()指的什么键值冲突了?下面是Bitbtn代码:
procedure Tmodify.BitBtn1Click(Sender: TObject);
var wname:string;
userid:integer;
begin
if datam.Query1.RecordCount<=0 then
begin
showmessage('当前数据集无用户');
exit;
end;
if (l_dzm.Caption<>datam.query1.FieldByName('地址码').asstring)and(l_dzm.Caption<>'') then
if not checkunique(wname,'地址码',l_dzm.caption) then
begin
if wname='空口' then
begin
if application.MessageBox('该地址码已在库中存在,并且为"空口"信息,修改后将把原空口信息删除掉,是否进行修改?','提示',MB_OKCANCEL + MB_DEFBUTTON1)
= IDOK then
with datam.Query3 do
begin
close;
sql.Clear;
sql.Add('select 地址码 from w_jb where 地址码='''+l_dzm.caption+'''');
open;
delete;
close;
end;
end
else
begin if application.MessageBox('库中已有该地址码信息,是否还要提交本次修改?','提示',MB_OKCANCEL + MB_DEFBUTTON1)
<> IDOK then
begin
e_xh.SetFocus;
exit;
end;
end;
end;
postmodify;
userid:=datam.Query1.fieldbyname('用户号').asinteger;
dataM.Query1.close;
datam.Query1.open;
datam.Query1.Locate('用户号',userid,[loCaseInsensitive]);
addlog(op_xiugai+' '+inttostr(datam.query1.fieldbyname('用户号').asinteger)+'号 '+datam.query1.fieldbyname('用户名').asstring);
w_main.StatusBar1.Panels[1].Text:='修改成功';
end;