zoukankan      html  css  js  c++  java
  • CString VariantToString(VARIANT var);转换

    Variant类型转换成CString代码

      对数据库的操作常常会用Variant和_bstr_t类型,在进行MFC等程序中,通常会用到CString类。从variant转换成CString代码如下:view plaincopy to clipboardprint?

      

    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;
    }

      转自http://blog.csdn.net/whf727/archive/2009/05/19/4202120.aspx

  • 相关阅读:
    Jquery、Ajax实现新闻列表页分页功能
    html中文字溢出处理(text-overflow)
    canvas图像绘制过程中的注意
    问题账户需求分析
    2016年秋季个人阅读计划
    阅读笔记之我们应当怎样做需求分析
    软件工程课个人总结
    人月神话阅读笔记—第四章
    人月神话阅读笔记—第三章
    人月神话阅读笔记—序言及第一、二章
  • 原文地址:https://www.cnblogs.com/wjq13752525588/p/11456987.html
Copyright © 2011-2022 走看看