用的是VC6.0
用ADO 访问数据库(ACCESS2000),显示数据库用的是DataGrid.
现在我的问题是,在我想遍历数据库的时候
try
{
while(!m_pRecordset->adoEOF)//判断是否到了记录集得最后一行
{
m_pRecordset->MoveNext();
}}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_pRecordset->adoEOF此句一直为假,就算已经到记录集的最后一行也依然为假,所以程序执行到
这个时m_pRecordset->MoveNext();会有异常,我不知道为什么,
用ADO 访问数据库(ACCESS2000),显示数据库用的是DataGrid.
现在我的问题是,在我想遍历数据库的时候
try
{
while(!m_pRecordset->adoEOF)//判断是否到了记录集得最后一行
{
m_pRecordset->MoveNext();
}}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_pRecordset->adoEOF此句一直为假,就算已经到记录集的最后一行也依然为假,所以程序执行到
这个时m_pRecordset->MoveNext();会有异常,我不知道为什么,
if(m_pRecordset->GetRecordCount() != 0)
m_pRecordset->MoveFirst();
不行,这样子依然不行,有没有其他的办法来判断到没有到记录集的最后一行阿
我试过了如果数据库是空的话,m_pRecordset->adoEOF和m_pRecordset->BOF都为真,也只有在数据库为空的情况下他们才为真,其他的时候都为假
最好每个数据表都做判断,或者先获取数据表长度,然后直接限定movenext()的次数