adoquery.recordset.count这里计算的是哪个数据集的内容,如何得到filter以后的recordset

解决方案 »

  1.   

    是_Recordset的内容。_Recordset是微软ADO的内部数据集,TADOQuery类实际上是对ADO数据集的封装。设置TADOQuery的Filter属性之后,通过TADOQuery返回的数据集,就是你想要的recordset。
      

  2.   

    就是adoquery的数据集啊adoquery1.Connection := ADOConnection1;
    ADOQuery1.SQL.Text := 'select * from b';
    ADOQuery1.Open;
    ShowMessage(IntToStr(ADOQuery1.Recordset.RecordCount));
    ADOQuery1.Filter := 'a=1';
    ADOQuery1.Filtered := True;
    ShowMessage(IntToStr(ADOQuery1.Recordset.RecordCount));
      

  3.   

    设置了filter后我调用adoquery1.recordset,发现recordset里面包含所有记录。。但adoquery.recordset.recordcount显示却是筛选后的条数,奇怪,不知道问题出在哪里
      

  4.   

    myexcelsheet.QueryTables.Add(adoquery1.recordset,xlSheet.Range['A1']);
    虽然在之前的adoquery1里设置了filter,但导出的数据是全部数据,但adoquery.recordset.recordcount里显示又是filter后的数据条数
      

  5.   

    myexcelsheet.QueryTables.Add(adoquery1.recordset,myexcelsheet.Range['A1']);