procedure Tfrm_company.btn_deletedClick(Sender: TObject);begin
if messagebox(handle,PChar('确定删除当前记录吗?'),PChar('删除'),MB_YESNO+MB_ICONINFORMATION)=IDYES then
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';
edit10.Text:='';
edit11.Text:='';
edit12.Text:='';
edit13.Text:='';
edit14.Text:='';
edit15.Text:='';
edit16.Text:=inttostr(adoquery1.RecNo -1)+'/'+inttostr(adoquery1.recordcount-1) ;
if adoquery1.recno<>-1 then adoquery1.deleterecords(arCurrent);
end
end;procedure Tfrm_company.btn_copyClick(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='insert into Company(DWMC,DWMCE,DWDZ,DWDZE,FRDB,LXR,YZBM,KHYH,YHZH,CZHM,LXDH,DC,DBGH,DZYX,BZ) values('''+edit1.Text+''','''+edit2.text+''','''+edit3.text+''','''+edit4.text+''','''+edit5.text+''','''+edit6.text+''','''+edit7.text+''','''+edit8.Text+''','''+edit9.Text+''','''+edit10.text+''','''+edit11.text+''','''+edit12.text+''','''+edit13.text+''','''+edit14.text+''','''+edit15.text+''')';
adoquery1.ExecSQL;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from Company');
adoquery1.open;
edit16.Text:=inttostr(adoquery1.RecNo)+'/'+inttostr(adoquery1.RecordCount);end;在复制了多条相同的记录之后,删除时报错说键列信息不足或不正确,删除影响到过多行。
数据是被删除了,但删除的不仅仅是当前的记录,而是所有复制的和被复制的都删除了。不知如何解决,请各位高手指教
if messagebox(handle,PChar('确定删除当前记录吗?'),PChar('删除'),MB_YESNO+MB_ICONINFORMATION)=IDYES then
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';
edit10.Text:='';
edit11.Text:='';
edit12.Text:='';
edit13.Text:='';
edit14.Text:='';
edit15.Text:='';
edit16.Text:=inttostr(adoquery1.RecNo -1)+'/'+inttostr(adoquery1.recordcount-1) ;
if adoquery1.recno<>-1 then adoquery1.deleterecords(arCurrent);
end
end;procedure Tfrm_company.btn_copyClick(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='insert into Company(DWMC,DWMCE,DWDZ,DWDZE,FRDB,LXR,YZBM,KHYH,YHZH,CZHM,LXDH,DC,DBGH,DZYX,BZ) values('''+edit1.Text+''','''+edit2.text+''','''+edit3.text+''','''+edit4.text+''','''+edit5.text+''','''+edit6.text+''','''+edit7.text+''','''+edit8.Text+''','''+edit9.Text+''','''+edit10.text+''','''+edit11.text+''','''+edit12.text+''','''+edit13.text+''','''+edit14.text+''','''+edit15.text+''')';
adoquery1.ExecSQL;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from Company');
adoquery1.open;
edit16.Text:=inttostr(adoquery1.RecNo)+'/'+inttostr(adoquery1.RecordCount);end;在复制了多条相同的记录之后,删除时报错说键列信息不足或不正确,删除影响到过多行。
数据是被删除了,但删除的不仅仅是当前的记录,而是所有复制的和被复制的都删除了。不知如何解决,请各位高手指教
改成:
if adoquery1.recno<>-1 then adoquery1.delete;
请前辈们指教。。
请前辈们指教。。