ADODataSet执行没有返回数据集的sql,如delete,怎么用,我记得ADOQuery里是ADOQuery.Close;
ADOQuery.Sql:='delete....';
ADOQuery.Execel;
ADOQuery.Open;可是ADODataSet没有发现Execel,这个该如何处理

解决方案 »

  1.   

    选出你要删除的纪录
    然后
    adodataset1.Delete;
      

  2.   

    是ExecSQL吧,后面的open是没用的
      

  3.   

    对于SQL语句,不是使用SELECT * ...的,使用OPEN是没有意义的,应该使用EXECSQL,只有使用了SELECT * ...的SQL语句,且有返回结果的,才使用OPEN。
      

  4.   

    可是没有 ADODataSet1.Execsql;
    我用的不是adoquery
      

  5.   

    可以这样用,不过笨了点,好好的adoquery不用干嘛用这个
    adodataset.close;
    adodataset.commandtext:='delete ... where ... select 0 As 返回';
    adodataset.open;
      

  6.   

    同意楼上观点,程序嘛,就要越简单越好(当然功能要越强越好!)。有时候我也是直接用adoquery1.delete
      

  7.   

    用我得方法准行
    ADOQuery.Close;
    ADOQuery.sql.clear;
    ADOQuery.Sql.add(delete from tablename where condition);
    try
    ADOQuery.Execel;
    except  end;