COleVariant和VARIANT转换为CString类型

来源:互联网 发布:善心汇软件下载 编辑:程序博客网 时间:2024/04/29 06:19

COleVariant是数据库常用到的数据类型。它可以是字串,整型值,日期等。知道怎样将它转换为CString很有用处。

        设有CString A; COleVariant B; 来看看怎样将COleVariant转换为CString:

        switch(B.vt){

            case VT_BSTR:  A=B.bstrVal; break;//COleVariant是一个字串

            case VT_I2:  A.Format(_T("%hd"),V_I2(&B));break;//是短整型

            case VT_I4:  A.Format(_T("%d"),V_I4(&B));break;//是长整型

            case VT_R4:  A.Format(_T("%e"),(double)V_R4(&B));break;//是浮点数

            case VT_R8:  A.Format(_T("%e"),V_R8(&B));break;//是浮点数

            case VT_CY:  A=COleCurrency(B).Format();break;//是货币值

            case VT_DATE: A=COleDateTime(B).Format("%Y-%m-%d");break;//是日期

            case VT_BOOL: A=V_BOOL(&B)?"True":"False";break;//是布尔值

       }

VARIANT转CString类型

vResult = range.GetValue();    

CString str;     

 if(vResult.vt == VT_BSTR)        //字符串        

str = vResult.bstrVal;     

else if (vResult.vt == VT_R8)      //8字节的数字        

 str.Format("%f", vResult.dblVal);     

else if(vResult.vt == VT_DATE)     //时间格式    

 {          SYSTEMTIME st;        

            VariantTimeToSystemTime(vResult.date, &st);   

  }     

else if(vResult.vt == VT_EMPTY)    //单元格空的        

str = ""; 

转载自http://www.scistar.com/dis2/view.asp?enum=549

原创粉丝点击