CString CMFCDataBaseDlg::VariantToCString(_variant_t var)
{
CString str; //转换以后的字符串
switch(var.vt)
{
case VT_BSTR: //var is BSTR type
str=var.bstrVal;
break;
case VT_I2: //var is short int type
str.Format(L"%d",(int)var.iVal);
break;
case VT_I4: //var is long int type
str.Format(L"%d",var.lVal);
break;
case VT_R4: //var is float type
str.Format(L".6f",(double)var.fltVal);
break;
case VT_R8: //var is double type
str.Format(L".6f",var.dblVal);
break;
case VT_CY: //var is CY type
str=COleCurrency(var).Format();
break;
case VT_DATE: //var is DATE type
str=COleDateTime(var).Format();
break;
case VT_BOOL: //var is VARIANT_BOOL
str= (var.boolVal==0) ?L"FALSE": L"TRUE";
break;
default:
str.Format(L"Unk type %d\n",var.vt);
TRACE(L"Unknown type %d\n",var.vt);
}
return str;
}
{
CString str; //转换以后的字符串
switch(var.vt)
{
case VT_BSTR: //var is BSTR type
str=var.bstrVal;
break;
case VT_I2: //var is short int type
str.Format(L"%d",(int)var.iVal);
break;
case VT_I4: //var is long int type
str.Format(L"%d",var.lVal);
break;
case VT_R4: //var is float type
str.Format(L".6f",(double)var.fltVal);
break;
case VT_R8: //var is double type
str.Format(L".6f",var.dblVal);
break;
case VT_CY: //var is CY type
str=COleCurrency(var).Format();
break;
case VT_DATE: //var is DATE type
str=COleDateTime(var).Format();
break;
case VT_BOOL: //var is VARIANT_BOOL
str= (var.boolVal==0) ?L"FALSE": L"TRUE";
break;
default:
str.Format(L"Unk type %d\n",var.vt);
TRACE(L"Unknown type %d\n",var.vt);
}
return str;
}