应该是你的_RecordsetPtr打开方式的原因,如果是动态打开记录集的话,
其他客户对数据库的操作也会在上面显示,
因此记录集数据的数量是未知的所以用GetRecordCount返回-1;
故要得到数据的数量应该静态的打开记录集
pRst->Open((LPCTSTR)strCmdText, _variant_t((IDispatch*) pConn,true),adOpenStatic,adLockOptimistic,adCmdUnknown);
其实你可以不用这个函数的,设定一个计数器,通过MoveNext()对记录进行遍历,也可以得到数据的数量