数据表里没有记录的时候,程序出错,如何判断、预防呢?
我在OnInitDialog()这个函数里,有下面这些代码(部分)用于获取数据表的记录数量:
_variant_t RecordsAffected;
m_pRecordset=m_pConnection->Execute("SELECT COUNT(*) FROM student",&RecordsAffected,adCmdText);
_variant_t vIndex=(long)0;
_variant_t vCount=m_pRecordset->GetCollect(vIndex);
count=vCount.lVal;
m_pRecordset->Close();
如果数据表里有记录的时候,程序可以正常运行。
但是如果数据表里没有记录,程序一运行就弹出出错的对话框。
在哪里增加判断数据表中有无记录、防止程序出错的的代码呢?
我想尝试如下的语句,但不得 要领。
if(m_pRecordset->BOF){
m_status="数据表里没有数据!";
return false;
}
谢谢了!
[解决办法]
这样试试
m_pRecordset=m_pConnection->Execute("SELECT * FROM student",&RecordsAffected,adCmdText);
if(m_pRecordset->BOF)
return false;
[解决办法]
- C/C++ code
while(PRs!=NULL&&!PRs->adoEOF){ CString val; str_val = PRs->GetCollect(long(0)); if (str_val.vt == VT_NULL) val=""; else val= CString((char *)(_bstr_t)str_val);}