在對資料庫操作中通常都會用到Variant 和_bstr_t類型,在網上也有很多關於這方面的代碼。而在進行MFC等程式中,通常都會用到CString類。從Variant轉換成CString代碼如下:CString VariantToString(_variant_t var)<br />{<br />CString strValue;<br />_variant_t var_t;<br />_bstr_t bstr_t;</p><p>COleCurrency var_currency;</p><p>switch(var.vt)</p><p>{</p><p>case VT_EMPTY:</p><p>case VT_NULL:strValue=_T("");break;</p><p>case VT_UI1:strValue.Format("%d",var.bVal);break;//bool</p><p>case VT_I2:strValue.Format("%d",var.iVal);break;//int</p><p>case VT_I4:strValue.Format("%d",var.lVal);break;//long</p><p>case VT_R4:strValue.Format("%f",var.fltVal);break;//float</p><p>case VT_R8:strValue.Format("%f",var.dblVal);break;//</p><p>case VT_CY:<br />var_currency=var;<br />strValue=var_currency.Format(0);break;</p><p>case VT_BSTR:<br />var_t =var;<br />bstr_t=var_t;<br />strValue.Format("%s",(const char *)bstr_t);<br />break;</p><p>case VT_DATE://時間類型<br />{<br />CTime myTime(((COleDateTime)var).GetYear(),<br />((COleDateTime)var).GetMonth(),<br />((COleDateTime)var).GetDay(),<br />((COleDateTime)var).GetHour(),<br />((COleDateTime)var).GetMinute(),<br />((COleDateTime)var).GetSecond());<br />strValue = myTime.Format("%Y-%m-%d %H:%M:%S");<br />}<br />break;</p><p>case VT_BOOL:strValue.Format("%d",var.boolVal);<br />break;</p><p>default:strValue=_T("");break;</p><p>}</p><p>return strValue;<br />}<br />