源码如下:(调试情况在单步执行时MOVENEXT不执行,直接调过,造成死循环)
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->CursorType =adOpenDynamic;
m_pRecordset=m_pConnection->Execute("SELECT * FROM DATA",&RecordsAffected,adCmdText);
_variant_t vID,vName,vAddress,vEmailAddress;
while(!m_pRecordset->EOF)
{
vID=m_pRecordset->GetCollect(_variant_t((long)0));
vName=m_pRecordset->GetCollect(_variant_t((long)1));
vAddress=m_pRecordset->GetCollect(_variant_t((long)2));
vEmailAddress=m_pRecordset->GetCollect(_variant_t((long)3));
m_pRecordset->MoveNext;
}
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->CursorType =adOpenDynamic;
m_pRecordset=m_pConnection->Execute("SELECT * FROM DATA",&RecordsAffected,adCmdText);
_variant_t vID,vName,vAddress,vEmailAddress;
while(!m_pRecordset->EOF)
{
vID=m_pRecordset->GetCollect(_variant_t((long)0));
vName=m_pRecordset->GetCollect(_variant_t((long)1));
vAddress=m_pRecordset->GetCollect(_variant_t((long)2));
vEmailAddress=m_pRecordset->GetCollect(_variant_t((long)3));
m_pRecordset->MoveNext;
}
_variant_t vID,vName,vAddress,vEmailAddress;
改成:
m_pRecordset->Open("SELECT * FROM DATA",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
同时:m_pRecordset->CursorLocation=adUseClient;
这一句好象应该改成
while(!m_pRecordset->adoEOF)
我也刚学 我是这么做的
请指正!
IsEOF是一个函数!!!而不是一个变量还有MoveNext也是函数,不是变量,应该这么写
m_pRecordset->MoveNext();