Delphi生手,做数据库程序时,删除按钮功能无法实现,求指点

Delphi新手,做数据库程序时,删除按钮功能无法实现,求指点
RT,照着别人写好的删除功能,自己复制的,仅仅把窗口名改了。编译的时候没有任何报错,但是运行的时候点删除按钮却无效,只提示是否删除的对话框,数据仍然在表格了。
代码如下
procedure TFormBillMain.RzTbtnDeleteClick(Sender: TObject);
var
  sqlstr: string;
  strSeq: string;
  i: integer;
begin
if CDMain.RecordCount > 0 then begin
    if Application.MessageBox('确定删除吗?', '询问', MB_ICONQUESTION + MB_YESNO) = ID_YES then begin
      if dgMultiSelect in DBGMain.Options then begin
        DBGMain.DataSource.DataSet.DisableControls ;
        for i := 0 to DBGMain.SelectedRows.Count - 1 do begin
          DBGMain.DataSource.DataSet.GotoBookmark(Pointer(DBGMain.SelectedRows.Items[i]));
          strSeq := DBGMain.DataSource.DataSet.FieldByName('fbill_no').AsString;

          // 先删除本身 和由本身附带产生的

          sqlstr := '';
          sqlstr := sqlstr + 'delete from  cx_bill_main where fbill_no = ' + strSeq;

        end;
        DBGMain.DataSource.DataSet.EnableControls;
      end
      else begin
        strSeq := DBGMain.DataSource.DataSet.FieldByName('fbill_no').AsString;

        // 先删除本身 和由本身附带产生的
       sqlstr := '';
       sqlstr := sqlstr + 'delete from cx_bill_main where fbill_no = ' + strSeq;   

      end;
     GetMainData('');
    end;
  end;
end;

复制的原代码
procedure TFormMain.N8Click(Sender: TObject);
var
  sqlstr: string;
  strSeq: string;
  i: integer;
begin
  if adoMainData.RecordCount > 0 then begin
    if Application.MessageBox('确定删除吗?', '询问', MB_ICONQUESTION + MB_YESNO) = ID_YES then begin
      if dgMultiSelect in DBGrid1.Options then begin
        DBGrid1.DataSource.DataSet.DisableControls;
        for i := 0 to DBGrid1.SelectedRows.Count - 1 do begin
          DBGrid1.DataSource.DataSet.GotoBookmark(Pointer(DBGrid1.SelectedRows.Items[i]));
          strSeq := DBGrid1.DataSource.DataSet.FieldByName('seq').AsString;

          // 先删除本身 和由本身附带产生的
          sqlstr := '';
          sqlstr := sqlstr + 'delete from pay_bill where par_seq = ' + strSeq;
          ExecSQL(ADOQry, sqlstr, 2);
        end;
        DBGrid1.DataSource.DataSet.EnableControls;
      end
      else begin
        strSeq := DBGrid1.DataSource.DataSet.FieldByName('seq').AsString;

        // 先删除本身 和由本身附带产生的
        sqlstr := '';
        sqlstr := sqlstr + 'delete from pay_bill where par_seq = ' + strSeq;
        ExecSQL(ADOQry, sqlstr, 2);
      end;
      GetData('', -1);
      N23.Click;
    end;
  end;
end;

求高手指点,谢谢
------解决思路----------------------
 ExecSQL(ADOQry, sqlstr, 2); 没有执行这个 怎么会删除呢 你只是组合成字符串了