ADO连接ACCESS,,现在时出现乱码。。
请问这句哪里错了
m_mail = (char*)(_bstr_t)m_pRecordset->GetCollect("email").bstrVal;  //CString  m_name; email在数据库设置的是字符
试了这句也是乱码 m_mail = m_pRecordset->GetCollect("email").bstrVal;

解决方案 »

  1.   

    m_mail = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("email");
      

  2.   

    (char*)((_bstr_t)m_pRecordset->GetCollect("email"))
      

  3.   


    _variant_t var;
    var = m_pRecordset->GetCollect("email");
    CString strVar;
    strVar = (LPCSTR)_bstr_t(var);
      

  4.   

    _variant_t vt;
    vt = m_pRecordset->GetCollect("email");
    if(vt.vt != VT_NULL)
      m_mail = vt.bstrVal;
    else
      m_mail = "";
    // 还要注意数据库的编码和工程的编码应该一致,比如都是MBCS或者都unicode