COleVariant和VARIANT转换为CString类型

COleVariant和VARIANT转换为CString类型COleVariant是数据库常用到的数据类型。它可以是字串,整型值,日期等。知道怎样将它转换为CString很有用处。        设有CString A; COleVariant B; 来看看怎样将COleVariant转换为CString:        switch(B.vt){            case VT_BSTR:  A=B.bstrVal; bre

大家好,又见面了,我是你们的朋友全栈君。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161066.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于UDP接收icmp端口不可达(port unreachable)

    关于UDP接收icmp端口不可达(port unreachable)本篇分为3部分1:报文格式2:产生的原因3:linux协议栈如何处理4:应用层如何获取1:报文如下,10.30.13.1往10.30.16.10的80端口发送了一个UDP报文,80端口其实监听的是TCP。服务器回复了一个类型为端口不可达的ICMP,ICMP数据部分就是请求UDPip层及其以上的数据。2:原因首先原因就是接收udp报文…

    2022年7月12日
    12
  • Dagger2_daggerlimit

    Dagger2_daggerlimit参考Android_Dagger2篇——从小白最易上手的角度+最新dagger.android步骤1.在需要实例化的类中,构造无参构造方法,注解@Inject@InjectpublicStudent(){}构造Component接口,有inject方法@ComponentpublicinterfaceDaggerComponent{voi…

    2022年10月21日
    0
  • Myeclipse2017SVN插件安装[通俗易懂]

    Myeclipse2017SVN插件安装[通俗易懂]Myeclipse2017SVN插件安装链接已改为本人资源链接,自取.如果对你有帮助请给评论一下点个赞,十分感谢!

    2022年7月21日
    10
  • 软件测试常见面试题

    软件测试常见面试题伴随着疫情的好转,又到了一年收获的季节。最近也有一些面试,整理下常用的测试题目,没有标准答案,需要结合自身的工作实践去应答。功能测试相关1、测试流程以及对应阶段的输出有哪些?2、Bug的优先级

    2022年8月6日
    3
  • 怎么获取Spring的ApplicationContext

    怎么获取Spring的ApplicationContext

    2021年12月10日
    44
  • BigDecimal除法问题

    BigDecimal除法问题BigDecimal做除法时,尽量使用divide(BigDecimaldivisor,intscale,introundingMode),这个方法divisor:被除数  scale保留小数位数  roundingMode保留小数时采用的方法,一般使用BigDecimal.ROUND_UP(四舍五入)如果不指定保留小数位数,在遇到除不尽的情况下就会报错BigDecimal源码:…

    2022年6月15日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号