Variant类型转换成CString代码

在对数据库操作中通常都会用到Variant 和_bstr_t类型,在网上也有很多关于这方面的代码。而在进行MFC等程序中,通常都会用到CString类。从Variant转换成CString代码如下:<textarea cols="78" rows="16" name="code" class="cpp">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; } </textarea>

你可能感兴趣的:(UI,数据库,Date,null,mfc)