你试一下strMy=(TCHAR *)ole.bstrVal

解决方案 »

  1.   

    应该是:
    CString strMy;
    COlevariant oleMy;m_pSet->GetFieldValue(0, oleMy);      //m_pSet为CDaoRecordset,且打开无误。
    if(oleMy.vt == VI_BSTR)
    {
        strMy = V_BSTRT(&ole);
    }你试试先
      

  2.   

    你在 _MBCS 方式下把 BSTR 类型直接强制转换成 LPCTSTR 当然不行了!
    解决方法:
    1、直接用 WideCharToMultiByte API
    2、#include <comdef.h>
    _bstr_t bstrVal;
    LPCTSTR lpszVal;bstrVal = oleMy;
    lpszVal = (LPCTSTR)bstrVal;
      

  3.   

    真的是见鬼了,我刚才用大家的方法试了一下,各位所用的方法都可以(好象ab大哥的方法会出乱码),然后我再试
    strMy = (LPCSTR)oleMy.bstrVal又可以了,谢谢各位!!