我目前使用以下代码执行多条删除,但是发现选择比较多时,
速度太慢,不知各位大侠有什么高招?来者有分。
if DBGrid.SelectedRows.Count > 1 then begin
for i := 0 to DBGrid.SelectedRows.Count - 1 do begin
ADOQuery.GotoBook(Pointer(DBGrid.SelectedRows.Items[I]));
ADOQuery.Delete;
end;
end;
速度太慢,不知各位大侠有什么高招?来者有分。
if DBGrid.SelectedRows.Count > 1 then begin
for i := 0 to DBGrid.SelectedRows.Count - 1 do begin
ADOQuery.GotoBook(Pointer(DBGrid.SelectedRows.Items[I]));
ADOQuery.Delete;
end;
end;
但是要是任意选择估计始终都要做一个循环。
逻辑删除 “ delete from 表名” 速度慢,但数据可以回滚;
如果你只是删除表中的部分满足某些条件的记录,你可以用DELETE FROM TABLENAME WHERE 。。当然这时你必需用到的数据源控件就是QUERY。
如果你只是删除表中的部分满足某些条件的记录,你可以用DELETE FROM TABLENAME WHERE 。。当然这时你必需用到的数据源控件就是QUERY。
谢谢各位的支持。