删除dbGrid Delphi 2010中的记录

时间:2016-10-27 09:51:51

标签: delphi ms-access ado dbgrid

我正在寻找解决我面临的一个相当严重的问题; 我想删除dbGrid中的记录但是当我点击我的编码按钮并确认“删除”时,我发现没有立即结果。为了找到已删除记录的结果,我必须关闭该程序并重新运行它。只有这样才能看到记录被删除。

我的编码基本上如下所示

procedure TfrmPunte.btnDeleteClick(Sender: TObject);
var
sName, sLeerderNo : string;
begin
with dmPunte do
  begin
    sLeerderNo := tblLeerder['LeerderNr'];
    sName := tblLeerder['NaamVan']; 
    if MessageDlg('Is jy seker dat jy ' + sName + ' met Leerder Nommer ' + sLeerderNo + ' wil wis van die rekords? Neem kennis dat al die rekords van sy/haar aktiwiteite ook uitgevee sal word!', mtWarning, [mbOk, mbCancel],0) = mrOK then
      tblDeelname.Open;
      tblDeelname.First; 
       while NOT tblDeelname.Eof do
        begin
          if tblDeelname['LeerderNr'] = sLeerderNo then
          tblDeelname.Delete;
          tblDeelname.Next;
        end;
      tblLeerder.Delete;
      tblLeerder.Active := False;
      tblLeerder.Active := True;
  end;
end;

我正在使用连接到连接到ACCESS数据库的ADO连接的ADO表。我道歉,一些变量名在南非荷兰语中。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

Table.refresh不适用于所有环境。安全的方式是

Table.Active := False; 
Table.Active := True; 

请注意实际数据集丢失的问题。您可以存储它并返回定位。