数据库中的有一字段:FirstPart 类型varchar(200)程序中:
CString sFirst;
_variant_t vV;
_CommandPtr pCmd = NULL;
_RecordsetPtr pRs = NULL;
vV = pRs->Fields->GetItem(L"FirstPart")->GetValue();
vV.ChangeType(VT_BSTR);
sFirst = vV.bstrVal;运行时报错“类型不匹配”另一个字段:Name 类型 varchar(6)程序同上,却正常运行;
这是什么原因呀?请各位大侠指教!!!!

解决方案 »

  1.   

    Please to try it so:
    _variant_t vV=pRs->GetFields()->GetItem(L"FirstPart")->GetValue();
    CString sFirst = (char*)(_bstr_t)(vV);
    AfxMessageBox(sFirst);
      

  2.   

    vV = pRs->GetCollect("FirstPart");
    sFirst = (LPCTSTR)(_bstr_t)vV;
      

  3.   

    if ( vV.vt == VT_NULL ) return;  //这里要判断是否为NULL
    vV.ChangeType(VT_BSTR);
      

  4.   

    if(vV.vt != VT_NULL)
    {
      sFirst = (CString)vV;
    }