请指教!!!
在DBGrid中如何删除所选中(多条)的记录

解决方案 »

  1.   

    很简单,遍历选中的记录,一条条地删除就可以了
    具体的用法,参考Delphi的帮助吧
      

  2.   

    将DBBRID的多选行一次删除:var
      tempBookMark : TbookMark;
    begin
             If dbgrid1.SelectedRows.Count > 1 Then s := '真的要删除这些记录?'
             If application.MessageBox(pchar(s), 'CVSC--多媒体光盘检索播放', mb_iconinformation + mb_YesNo) = IdYes Then
                Begin
                   i := 0;
                   DBGrid1.Datasource.Dataset.DisableControls;
                   While i <= dbgrid1.SelectedRows.Count - 1 Do
                      Begin
                         DBGrid1.Datasource.Dataset.Book := dbgrid1.SelectedRows.Items[i];  //重要的在这里,取得BOOKMARK
                         TempBook := DBGrid1.Datasource.Dataset.GetBook;
                         DBGrid1.Datasource.Dataset.GotoBook(TempBook);  
                         qry_del.ParamByName('param1').AsInteger := Dbgrid1.DataSource.DataSet.fieldbyname('id').AsInteger;
                         qry_del.Prepare;  
                         qry_del.ExecSQL;
                         DBGrid1.Datasource.Dataset.FreeBook(TempBook);  //释放BOOKMARK
                         inc(i); //下一个选择记录
                      End;
                   DBGrid1.Datasource.Dataset.EnableControls;
                End;
    end;