1.  A,B两表用adoquery关联,用adoquery删除时如何保证只删除A中的相应记录而不删除B中对应的记录
2.dbgrid 关联 adoquery,我用另一个adotable来完成删除功能,但删除后如何让dbgrid
   刷新以显示新记录而不用adoquery重新写语句查询

解决方案 »

  1.   

    2.dbgrid.datasource.dataset.refresh不就可以了?
      

  2.   

    1、如果ADOQUERY是同一个,对不起,不能实现你要的删除功能。
    2、不需要用另外的查询控件执行刷新功能。只要刷新该QUERY就行了。
       ADOQuery1.Close;
       ADOQuery1.Open;//还是执行最后一次的查询
      

  3.   

    谢谢两位,但我是用一个adoquery联合查询并显示在dbgrid中,我现在只删除满足A.field1="..."所以使用另一个dataset可以完成删除功能,但如果我要同时满足A.field1="..." and B.field1="..."删除条件请问该怎么办???
      

  4.   

    1.     DataModule1.ADOQuery1.Close();
         DataModule1.ADOQuery1.Open();
    出错:"ADOQuery1:commandtext don't return a result set"
    2.DataModule1.ADOQuery1.refresh 也会出错
      

  5.   

    1.   //刷新一条记录
             DataModule1.ADOQuery1.Close();
          DataModule1.ADOQuery1.SQL.Clear();
           AnsiString strSql= "Update table1 set      field1="...",field2="..." where .....;
           DataModule1.ADOQuery1.SQL.Add(strSql);
           DataModule1.ADOQuery1.ExecSQL();
    // 重新刷新dbgrid,此时DataModule1.ADOQuery1.active=false;ExecSQL( )并不打开adoquery1                 
     DataModule1.ADOQuery1.Close();
         DataModule1.ADOQuery1.Open();//出错:"ADOQuery1:commandtext don't return a result set"
    请问该怎么解决