特别奇怪。_RecordsetPtr pRs = NULL;
...
if (pRs->GetRecordCount())
    return TRUE;
else
    return FALSE;明明是有记录的,但奇怪为什么返回FALSE。还有,pRs->Move(nIndex);会抛出异常,直接GP。这以前编译运行都正常的,用的是vc6,郁闷!ado 记录集ado记录集指针函数问题

解决方案 »

  1.   

    你是不是以前用xp编译的,现在用win7编译的吧!这两个函数在xp下编译运行的确是正常的,但在win7下是有问题的。win7和xp都兼容的方法:
    DWORD dwValue = pRs->GetCount();
    这样dwValue就能获取正确的值。如果直接在判断语句中,就会出错。原因不详。pRs->Move(nIndex)的问题,在win7下GP,试过有一种方法可以,共享一下。
    if (!pRs->BOF)
       pRs->MoveFirst();for (int i = 0; i < nIndex; i++)
        pRs->MoveNext();这样就可以达到效果了。