zoukankan      html  css  js  c++  java
  • Variant类型转换成CString代码

    在对数据库操作中通常都会用到Variant 和_bstr_t类型,在网上也有很多关于这方面的代码。而在进行MFC等程序中,通常都会用到CString类。从Variant转换成CString代码如下:view plaincopy to clipboardprint?
    CString VariantToString(_variant_t var)  
    {  
        CString strValue;  
        _variant_t var_t;  
        _bstr_t bstr_t;  
     
        COleCurrency var_currency;  
     
        switch(var.vt)  
     
        {  
     
        case VT_EMPTY:  
     
        case VT_NULL:strValue=_T("");break;  
     
        case VT_UI1:strValue.Format("%d",var.bVal);break;   //bool  
     
        case VT_I2:strValue.Format("%d",var.iVal);break;    //int  
     
        case VT_I4:strValue.Format("%d",var.lVal);break;    //long  
     
        case VT_R4:strValue.Format("%f",var.fltVal);break;  //float  
     
        case VT_R8:strValue.Format("%f",var.dblVal);break;  //  
     
        case VT_CY:  
            var_currency=var;  
            strValue=var_currency.Format(0);break;  
     
        case VT_BSTR:  
            var_t =var;  
            bstr_t=var_t;  
            strValue.Format("%s",(const char *)bstr_t);  
            break;  
     
        case VT_DATE:           //时间类型  
            {  
                CTime  myTime(((COleDateTime)var).GetYear(),   
                    ((COleDateTime)var).GetMonth(),   
                    ((COleDateTime)var).GetDay(),   
                    ((COleDateTime)var).GetHour(),   
                    ((COleDateTime)var).GetMinute(),   
                    ((COleDateTime)var).GetSecond());   
                strValue = myTime.Format("%Y-%m-%d %H:%M:%S");  
            }  
            break;  
     
        case VT_BOOL:strValue.Format("%d",var.boolVal);  
            break;  
     
        default:strValue=_T("");break;  
     
        }  
     
        return strValue;  

    CString VariantToString(_variant_t var)
    {
     CString strValue;
     _variant_t var_t;
     _bstr_t bstr_t;

     COleCurrency var_currency;

     switch(var.vt)

     {

     case VT_EMPTY:

     case VT_NULL:strValue=_T("");break;

     case VT_UI1:strValue.Format("%d",var.bVal);break; //bool

     case VT_I2:strValue.Format("%d",var.iVal);break; //int

     case VT_I4:strValue.Format("%d",var.lVal);break; //long

     case VT_R4:strValue.Format("%f",var.fltVal);break; //float

     case VT_R8:strValue.Format("%f",var.dblVal);break; //

     case VT_CY:
      var_currency=var;
      strValue=var_currency.Format(0);break;

     case VT_BSTR:
      var_t =var;
      bstr_t=var_t;
      strValue.Format("%s",(const char *)bstr_t);
      break;

     case VT_DATE:   //时间类型
      {
       CTime  myTime(((COleDateTime)var).GetYear(),
        ((COleDateTime)var).GetMonth(),
        ((COleDateTime)var).GetDay(),
        ((COleDateTime)var).GetHour(),
        ((COleDateTime)var).GetMinute(),
        ((COleDateTime)var).GetSecond());
       strValue = myTime.Format("%Y-%m-%d %H:%M:%S");
      }
      break;

     case VT_BOOL:strValue.Format("%d",var.boolVal);
      break;

     default:strValue=_T("");break;

     }

     return strValue;
    }


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/whf727/archive/2009/05/19/4202120.aspx

  • 相关阅读:
    SubString函数总结
    button按钮居中
    2019 面试题
    linux(centos)搭建SVN服务器
    svn 设置钩子将代码同步到web目录下面
    sql 语句总结
    php 多维数组转换
    php 两个数组是否相同,并且输出全面的数据,相同的加一个字段标示
    PHP错误类型及屏蔽方法
    设置div中文字超出时自动换行
  • 原文地址:https://www.cnblogs.com/wqj1212/p/1801872.html
Copyright © 2011-2022 走看看