Query1.SQL.Text:=‚Delete from Foo where Bla=:Bla‘;
Query1.ParambyName(‚Bla‘).AsInteger:=DBGrid1.Datasource.Dataset.FieldByName(‚Feldname des PK‘).AsInteger;
Query1.ExecSQL;
Anschließen musst du ein Refresh auf dein Grid ausführen.
Entweder Refresh oder Close/Open