请帮忙看看有关adoEOF问题,
今天遇到了这样一个问题,请高手们帮忙看看:
我用的是vc6.0 数据库是SQL Server2000, 采用ADO方式
现在出现了以下问题:
最后运行结果提示:
'adoEOF' : is not a member of '_Recordset'
////////////////////////////////////////////
_RecordsetPtr m_pRs;
/////////////////////////////////////////
在CSERVERDlg()中有:
m_strConnection = _T("Provider=SQLOLEDB.1;Integrated;curity=SSPI;PersistSecurity Info=False;User ID=sqlserver;Initial Catalog=server_data;Data Source=(local)");
.....
DBSearchInitTable(); // build new table_gps_data
////////////////////////////////
在OnInitDialog()中
m_strCmdText =_T(m_Table_GPS_Data_Name); //定义命令文本内容
m_pRs.CreateInstance(__uuidof(Recordset)); //创建connection对象实例
m_pRs->CursorLocation = adUseClient; //设置游标位置
//打开记录集
m_pRs->Open((LPCTSTR)m_strCmdText, //命令文本内容
(LPCTSTR)m_strConnection, //连接字符串
adOpenKeyset, //设置游标类型
adLockOptimistic, //设置锁定类型
adCmdTableDirect);
////////////////////////////
在DBSearchInitTable()中
if(m_pRs->State)
{
m_pRs->Close();
}
m_pRs=m_pConnection->OpenSchema(adSchemaTables);
while(!(m_pRs->adoEOF)) ////出现了问题。
{
_bstr_t table_name = m_pRs->Fields->GetItem("TABLE_NAME")->Value;
_bstr_t table_type = m_pRs->Fields->GetItem("TABLE_TYPE")->Value;
....
m_pRs->MoveNext();
}
///////////////////////////////////////////////
问题出现后我怀疑是不是不支持SQL Server的问题,所有在一篇文章看到用getEOF的方法
VARIANT_BOOL bEOF;
m_pRs->get_EOF(&bEOF);
while(!bEOF)
{
_bstr_t table_name = m_pRs->Fields->GetItem("TABLE_NAME")->Value;
_bstr_t table_type = m_pRs->Fields->GetItem("TABLE_TYPE")->Value;
....
m_pRs->MoveNext();
}
最终的结果还是提示: 'get_EOF' : is not a member of '_Recordset'