所有程序中只有下面这个ADOQuery_projd6.Delete; 删除不了数据,按下删除按钮dbgrid中的数据是没有了,但是在sqlserver表中作查询数据还在,为什么啊??而同样的程序在其它from中是可以删除数据的。ADOQuery_projd6的设置跟其它ADOQuery的设置一样的,试过重建这个ADOQuery的了。急啊,程序如下:procedure TForm_projd6.ToolButton_delClick(Sender: TObject);
var result:smallint;
begin
result:=application.MessageBox('真的要删除吗?','提示',mb_okcancel+mb_defbutton2);
       if result=idok then
          begin
            try
              DataModule_main. ADOQuery_projd6.Delete;;
            except
              showmessage(' Fail !');
              abort;
            end;
          end;
       if result=idcancel then abort;

解决方案 »

  1.   

    DataModule_main.ADOQuery_projd6.close;
      DataModule_main.ADOQuery_projd6.sql.Clear;
      DataModule_main.ADOQuery_projd6.sql.Add('select * from proj_d6 where projno=:projno ' );
      DataModule_main.ADOQuery_projd6.Parameters.ParamByName('projno').Value:=gs_projno;
      DataModule_main.ADOQuery_projd6.open;
      

  2.   

    是不是你设置了ADOQuery的LockType为ltBatchOptimistic了?
    如果是的话,删除语句后必需:ADOQuery1.UpdateBatch;
    或者改回ltOptimistic
      

  3.   

    你先测试你的ADOQuery里面的东西是什么
      

  4.   

    应该Kevin_Lmx(繁华阅尽) 的答复就可以解决