m_list.AddString( “0”);m_list是listbox变量

解决方案 »

  1.   

    是这样的,打开数据库将查询的值添加到listbox中去,代码是
    _ConnectionPtr m_pConnection;
    _RecordsetPtr m_pRecordset;
    _variant_t var;
    CString strName,strAge;m_pConnection.CreateInstance(__uuidof(Connection));
    m_pRecordset.CreateInstance(__uuidof(Recordset));try                 
    {
    // 打开本地Access库Demo.mdb
    m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\book.mdb","","",adModeUnknown);
    m_pRecordset.CreateInstance("ADODB.Recordset");
    m_pRecordset->Open("SELECT * FROM book",_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
    if(!m_pRecordset->BOF) m_pRecordset->MoveFirst();
    while(!m_pRecordset->adoEOF)
    {
    var = m_pRecordset->GetCollect("name");
    if(var.vt!= VT_NULL)
    strName = (LPCSTR)_bstr_t(var);
    var = m_pRecordset->GetCollect("pass");
    if(var.vt != VT_NULL)
    strAge = (LPCSTR)_bstr_t(var);
    // m_list.AddString(strName + " --> "+strAge );//此处出错 m_pRecordset->MoveNext(); }
      

  2.   

    搂主有点扣呵呵
    设置断点调试看看strName 和strAge的值
      

  3.   

    CString不支持连续加。
    strAge = (LPCSTR)_bstr_t(var);
    strName += " --> ";
    strName += strAge;
    m_list.AddString(strName);//此处出错