_variant_t sex = m_pRecordset->GetCollect("sex");
以后怎么把sex改成CString类型

解决方案 »

  1.   

    http://dev.csdn.net/develop/article/12/12365.shtm
      

  2.   

    if(sex.vt !=  VT_NULL){
      CString m_sex = (LPCTSTR)(_bstr_t)sex;
    }
      

  3.   

    ltlucky(滔滔) ( ) 信誉:100  2004-06-28 10:53:00  得分: 0  
     
     
       if(sex.vt !=  VT_NULL){
      CString m_sex = (LPCTSTR)(_bstr_t)sex;
    }
      
     
    谢谢你呀,你这个离子太好了,我原来不知道怎么判断空的。呵呵,这次学会了
    也谢谢上面的两个兄弟
      

  4.   

    u_dlg.m_chat.Format("%s",chat.bstrVal); 无法运行u_dlg.m_chat.Format("%s",(LPCTSTR)(_bstr_t)chat);只能得到0,得不到1,是1的时候得到的是-1再帮我看看呀
      

  5.   

    1对应的是0xffffffff,当然是-1了
      

  6.   

    u_dlg.m_chat.Format("%s",(LPCTSTR)(_bstr_t)chat);就没办法直接得到0或者1么?从-1变成1心里不舒服呀!
    总感觉明明是-1,因为不是0我们才变成1的。
      

  7.   

    _variant_t sex = m_pRecordset->GetCollect("sex");
    以后怎么把sex改成CString类型
    -----------------------------------------------------
    如果sex是bit形的,则如下:
    CString sTemp;
    _variant_t sex = m_pRecordset->GetCollect("sex");
    if ( sex.vt != VT_NULL )
    {
       if ( sex.intVal == 1 )
          sTemp = _T("1");
        else
          sTemp = _T("0");
    }
    else
      sTemp = _T("");或者
    if ( sex.vt != VT_NULL )
    {
       sex.ChangeType( VT_BSTR );
       sTemp = sex.bstrVal;
    }
    else
    {
       sTemp = _T("");
    }
      

  8.   

    谢谢楼上的兄弟,我懂了,还是的经过转换,我只想一步得到结果。比如sex.bstrVal