procedure Tstudentmanage.SpeedButton4Click(Sender: TObject);
var
i:integer;
begin
   if  MessageDlg('确定要删除这些学生信息吗?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
     begin
     for i:=1 to query2.RecordCount  do
      Query2.Delete;
     end;
end;
 因为recordcount 很大 ,所以速度很慢,怎么办?有什么好办么?

解决方案 »

  1.   

    with qyTemp do
    begin
      SQL.Clear;
      SQL.Add('delete from tablename');
    end
      

  2.   

    with Query1 do
    begin
        close;
        SQL.text:='delete tablename where 条件';
        execSQL;end;
      

  3.   

    用truncate table 
    if  MessageDlg('确定要删除这些学生信息吗?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
         begin
          Query2.close;
          Query2.sql.clear;
          Query2.sql.add('truncate table a');
          Query2.execsql;
         end;
    end;
      

  4.   

    使用sql语句delete table where .....