比如说记录集有1000条记录,我想取第300条出来,应该怎么做?
就是说API连接数据库方法里有没有MFC上的move方法可以直接移动到指定记录?谢谢各位大虾啦。

解决方案 »

  1.   

    记录集CRecordset不是有move方法吗? 
      

  2.   

    记录集确实有Move方法的,
    原型为:HRESULT Move(long NumRecords,const_variant_t & Start = vtMissing);
    NumRecords:表当前记录指针移动的记录数,+前,-后;
    Start:起始位置,缺省为当前,你可以查下资料,,
      

  3.   

    ODBC API函数也有move方法么?
      

  4.   

    有。。是CRecordset类的成员变量你首先用SQL打开特定的记录集到CRecordset,然后调用move方法定位到指定位置的记录。
      

  5.   

    只有SQLFetch,没有move
    解决办法:
    1写一个存储过程,让相关的复杂操作在sql服务器内部进行,可以用cursor
    2写一条复杂的查询语句,形如:select top 1 .. from (select .. order by ..)tmp order by ..,直接查询出某条你要的记录
    3返回一个大记录集,不断SQLFetch,直到计数符合你的要求我比较倾向于2的方法