只有少数的数据库支持使用query修改数据库记录,你还是使用sql语句删除吧。
procedure deleterecord;
begin
with tquery.create(self) do
begin
databasename:='XXdata';
sql.add('delete from table_name');
sql.add('where id='+''''+query1.fieldbyname('id').asstring+'''');
//query1为与dbgrid相连的query
execsql;
free;
end;
query1.active:=false;
query1.active:=true;
end;