COleVariant和VARIANT转换为CString类型

COleVariant是数据库常用到的数据类型。它可以是字串,整型值,日期等。

    设有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 = ""; 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值