MFC 用 ADO 连接 Access 数据库时显示无效指针


我在主对话框头文件里声明两个智能指针


 _ConnectionPtr m_pConnection;
    _RecordsetPtr m_pRecordset;

然后我想在子对话框中把数据库显示出来,于是我这样写的代码:


 //连接数据库,已经写好
    OnInitADOConn();
    //设置查询字符串
    _bstr_t bstrSQL = "select * from employees 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();

但是显示无效指针怎么办?麻烦说的详细一些,我刚接触.

vc++ mfc

巭孬嫑夯-昆 9 years, 10 months ago

Your Answer