177 lines
2.5 KiB
C++
177 lines
2.5 KiB
C++
#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;
|
|
}
|
|
} |