Files
envi-code/SourceCode/Code2026/sqliteserver/UIIVariantUtility.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

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;
}
}