#include "stdafx.h" #include "UIIVariantUtility.h" CUIIVariantUtility::CUIIVariantUtility() { } CUIIVariantUtility::~CUIIVariantUtility() { } BOOL CUIIVariantUtility::Variant2String(const _variant_t& var, CString& sText) { if (var.vt != VT_EMPTY && var.vt != VT_NULL) { sText = (LPCTSTR)(_bstr_t)var; sText.TrimRight(); sText.TrimLeft(); return TRUE; } else { sText.Empty(); return FALSE; } } BOOL CUIIVariantUtility::bstr_t2String(_bstr_t bstr,CString& sText) { sText = (LPCTSTR)bstr; sText.TrimRight(); sText.TrimLeft(); return TRUE; } BOOL CUIIVariantUtility::DataTypeEnum2String(int nIndex,CString& sText) { if(nIndex == 0) { sText = "adEmpty"; } else if(nIndex == 16) { sText = "tinyint"; } else if(nIndex == 2) { sText = "smallint"; } else if(nIndex == 3) { sText = "integer"; } else if(nIndex == 20) { sText = "bigint"; } else if(nIndex == 131) { sText = "numeric"; } else if(nIndex == 5) { sText = "double"; } else if(nIndex == 11) { sText == "boolean"; } else if(nIndex == 200) { sText = "varchar"; } else if(nIndex == 201) { sText = "text"; } else if(nIndex == 204) { sText = "varbinary"; } else if(nIndex == 14) { sText = "float"; } else if(nIndex == 133) { sText = "datetime"; } return TRUE; } BOOL CUIIVariantUtility::Variant2Long(_variant_t& var, LONG& lValue) { if (var.vt != VT_EMPTY && var.vt != VT_NULL) { lValue = (LONG)var; return TRUE; } else { lValue = 0l; return FALSE; } } BOOL CUIIVariantUtility::Variant2Double(_variant_t& var, double& dValue) { if (var.vt != VT_EMPTY && var.vt != VT_NULL) { dValue = (double)var; return TRUE; } else { dValue = 0.0; return FALSE; } } BOOL CUIIVariantUtility::Variant2Float(_variant_t& var, float& fValue) { if (var.vt != VT_EMPTY && var.vt != VT_NULL) { fValue = (float)var; return TRUE; } else { fValue = 0.0f; return FALSE; } } BOOL CUIIVariantUtility::Variant2Int(_variant_t& var, int& iValue) { if (var.vt != VT_EMPTY && var.vt != VT_NULL) { iValue = (LONG)var; return TRUE; } else { iValue = 0; return FALSE; } } BOOL CUIIVariantUtility::Variant2Short(_variant_t& var, short& nValue) { if (var.vt != VT_EMPTY && var.vt != VT_NULL) { nValue = (short)var; return TRUE; } else { nValue = 0; return FALSE; } } BOOL CUIIVariantUtility::Variant2Bool(_variant_t& var, BOOL& bValue) { if (var.vt != VT_EMPTY && var.vt != VT_NULL) { bValue = (bool)var; return TRUE; } else { bValue = FALSE; return FALSE; } }