Как программно удалить данные из полей с помощью delphi - PullRequest
0 голосов
/ 04 ноября 2019

Когда я удаляю данные с помощью Delete, они все равно остаются в таблице dbf, но помечаются как удаленные

Procedure TForm1.Button2Click(Sender: TObject);

var god,data,max,date:string;

begin
date:=formatdatetime('dd.mm.yyyy',(DateTimePicker1.Date));
god:=copy(formatdatetime('yyyy',(DateTimePicker1.Date)),1,4);
data:=formatdatetime('ddmm',(DateTimePicker1.Date));
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Append('Select max(date_pogr) as max from g_rabn.dbf where god='+''''+'''');
  ADOQuery1.Open;
  max:=ADOQuery1.FieldByName('max').asstring;
  if date<>max then
  begin
  ADOQuery1.SQL.Text:='delete from g_rabn.dbf where year='+''''+'''';
  ADOQuery1.ExecSQL;
  ADOQuery1.SQL.Text:='use g_rabn.dbf pack';
  ADOQuery1.ExecSQL;
  showmessage('Wrong date');
  end
  else
  begin
  ADOQuery1.SQL.text:='update g_rabn.dbf set year='+''''+year+'''' +' where year='+''''+'''';
  ADOQuery1.ExecSQL;
  ADOQuery1.SQL.text:='update g_rabn.dbf set data='+''''+data+'''' +' where data='+''''+'''';
  ADOQuery1.ExecSQL;

end;

end;
end.

Как физически удалить данные из таблицы

...