CStringのVariantToString(VARIANTのVAR);変換

変異型は、コードのCStringに変換します

  データベースの動作は、多くの場合、_bstr_tバリアント型と、プログラム中に、そのようなMFCは、CStringのクラスは、一般的に使用されます。clipboardprintするビューplaincopy:次のコードにバリアントから変換CStringの?

  

clipboardprintするplaincopy?
CStringのVariantToString(_variant_tのVAR)  
{  
    CStringのstrValueに。  
    _variant_t var_t;  
    _bstr_t bstr_t;  
 
    COleCurrencyのvar_currency。  
 
    スイッチ(var.vt)  
 
    {  
 
    ケースVT_EMPTY:  
 
    ケースVT_NULL:strValueに= _T( "");破ります。  
 
    ケースVT_UI1:strValue.Format( "%d個"、var.bVal);破ります; // BOOL  
 
    場合VT_I2:strValue.Format( "%d個"、var.iVal);破ります; // int型の  
 
    場合VT_I4:strValue.Format( "%d個"、var.lVal);破ります; //長い  
 
    場合VT_R4:strValue.Format( "%fを"、var.fltVal);破ります; //フロート  
 
    ケースVT_R8:strValue.Format( "%fを"、var.dblVal);破ります; //  
 
    ケースVT_CY:  
        var_currency = VAR。  
        strValueに= var_currency.Format(0);破ります;  
 
    ケースVT_BSTR:  
        var_t = VAR。  
        bstr_t = var_t。  
        strValue.Format( "%sの"、(CONSTのchar *)bstr_t)。  
        ブレーク;  
 
    場合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")。  
        }  
        ブレーク;  
 
    ケースVT_BOOL:strValue.Format( "%dの"、var.boolVal)。  
        ブレーク;  
 
    デフォルト:strValueに= _T( "");破ります;  
 
    }  
 
    strValueにを返します。  

のCString VariantToString(_variant_tのVAR)
{
 CStringのstrValueに。
 _variant_t var_t;
 _bstr_t bstr_t;

 COleCurrencyのvar_currency。

 スイッチ(var.vt)

 {

 ケースVT_EMPTY:

 ケースVT_NULL:strValueに= _T( "");破ります;

 ケースVT_UI1:strValue.Format( "%d個"、var.bVal);破ります; // BOOL

 ケースVT_I2:strValue.Format( "%d個"、var.iVal);破ります; // int型

 ケースVT_I4:strValue.Format( "%d個"、var.lVal);破ります; //長いです

 ケースVT_R4:strValue.Format( "%fを"、var.fltVal);破ります; //浮く

 ケースVT_R8:strValue.Format( "%fを"、var.dblVal);破ります; //

 ケースVT_CY:
  var_currency = VAR。
  strValueに= var_currency.Format(0);破ります;

 ケースVT_BSTR:
  var_t = VAR。
  bstr_t = var_t。
  strValue.Format( "%sの"、(CONSTのchar *)bstr_t)。
  ブレーク;

 場合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")。
  }
  ブレーク;

 ケースVT_BOOL:strValue.Format( "%dの"、var.boolVal)。
  ブレーク;

 デフォルト:strValueに= _T( "");破ります;

 }

 strValueにを返します。
}

  転送http://blog.csdn.net/whf727/archive/2009/05/19/4202120.aspx

おすすめ

転載: www.cnblogs.com/wjq13752525588/p/11456987.html