在ole db中,如何根据条件查找记录?
例如查找 name = “张三”

解决方案 »

  1.   

    使用带WHERE子句的SELECT语句不就可以了吗?
      

  2.   

    因为我要进行多次的查找不同的纪录,因为速度要求,所以在程序启动时一次将所有记录读入内存,大约有几千条记录吧,所以不能使用带WHERE子句的SELECT查询
      

  3.   

    在odbc中,记录集有filter属性,在ole db中, 记录集也有filter属性吗?
      

  4.   

    看看吧,有的,要赋值得到的RECORDSER就是结果集
      

  5.   

    能给我一段代码吗?如果不太麻烦的话最好给个例子,先谢谢了!
    我的mail:[email protected]
      

  6.   

    _RecordsetPtr pRsFilter;
    _RecordsetPtr pRs2;
    .
    .
    .//打开数据集pRs2//给pRs2的Filter赋值
      pRs2->Filter = (const char *)strFilter;//pRsFilter或者pRs2保存了查找结果
      pRsFilter = pRs2;  //操作结果集
      int nCount = pRsFilter->GetRecordCount();
    ...
      

  7.   

    谢谢qiuxiangyong(qxy),_RecordsetPtr是ADO的,ole db使用的是ROWSET ,_RecordsetPtr也可以在ole db中使用吗?
      

  8.   

    qiuxiangyong(qxy) :我也感觉应该有,可是找了几天了,也没有找到!
    还好,记录数比较少,循环也可以,过几天我就准备结贴了,第一次发贴,谢谢你的支持,一定给你加分!
      

  9.   

    qiuxiangyong(qxy) :我也感觉应该有,可是找了几天了,也没有找到!
    还好,记录数比较少,循环也可以,过几天我就准备结贴了,第一次发贴,谢谢你的支持,一定给你加分!
      

  10.   

    to zottff() :ole db使用的是ROWSET  這個接口沒有filter
    而且 ole db 現在不支持 IROWSETFINE 接口
      

  11.   

    IRowsetFind
    IRowsetFind is the interface that allows consumers to find a row within the rowset matching a specified value.