MFC编程用ADO连接数据库,执行查询语句后,如果返回0条记录有什么标志吗?

我自己编程的代码如下:UpdateData(true);CStringstrSQL=_T("select*fromcustomerwhereCust_no='")+Key... 我自己编程的代码如下:
UpdateData(true);
CString strSQL=_T("select * from customer where Cust_no='")+KeyWord+_T("'");
try
{
theApp.m_pRecordset->Open(strSQL.GetBuffer(),theApp.m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
strSQL.ReleaseBuffer();
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}
long it=theApp.m_pRecordset->RecordCount;
theApp.m_pRecordset->MoveFirst();
CString str=_T("");
_variant_t var;
while(!theApp.m_pRecordset->adoEOF)
{
var=theApp.m_pRecordset->GetCollect("Cust_name");
str=theApp.strVARIANT(var);
theApp.m_pRecordset->MoveNext();
}
UpdateData(false);
如果KeyWord在表里没有查找到,会跳出内存错误,程序被中止。

出错的语句是theApp.m_pRecordset->MoveFirst();这里。有什么方法判断返回记录为0,然后不执行这句?
展开
 我来答
安an26
2012-12-25
知道答主
回答量:20
采纳率:0%
帮助的人:10.6万
展开全部
if ((m_pRecordset->BOF)||(m_pRecordset->adoEOF))
{
// AfxMessageBox("没有记录");
return;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式