//连接数据库
OnInitADOConn();
//设置查询字符串
_bstr_t bstrSQL = "select * from employees order by 编号 desc";
//_bstr_t bstrSQL = "select * from All order by 编号 desc";
//创建记录集指针对象实例

m_pRecordset.CreateInstance(__uuidof(Recordset));
//打开记录集
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);

while(!m_pRecordset->adoEOF)
{
m_Grid.InsertItem(0,"");
m_Grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("编号"));
m_Grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("姓名"));
m_Grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("性别"));
m_Grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset->GetCollect("年龄"));
//将记录集指针移动到下一条记录
m_pRecordset->MoveNext();
}
//断开数据库连接
ExitConnect();
以上代码是将数据库的数据初始化在窗口列表中,完全没问题
但当我把
//设置查询字符串
_bstr_t bstrSQL = "select * from employees order by 编号 desc";
改成_bstr_t bstrSQL = "select * from All order by 编号 desc";
就会出现Runtime error!!!错误我的理解是employees是表的名字,所以我把调用的这个表名改为All,结果出错了。请教大家为什么了!
我测试发现
程序运行到
//打开记录集
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);
就会出现,停止运行