COleVariant和VARIANT转换为CString类型

116 篇文章 0 订阅
111 篇文章 0 订阅

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值