我正在寻找解决我面临的一个相当严重的问题; 我想删除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表。我道歉,一些变量名在南非荷兰语中。 我该怎么办?
答案 0 :(得分:0)
Table.refresh
不适用于所有环境。安全的方式是
Table.Active := False;
Table.Active := True;
请注意实际数据集丢失的问题。您可以存储它并返回定位。