⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 daovariant.cpp

📁 课程设计的简单Access学生数据库系统
💻 CPP
字号:
// DaoVariant.cpp: implementation of the CDaoVariant class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "DaoVariant.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

//##ModelId=40A481F80280
CDaoVariant::CDaoVariant()
{

}

//##ModelId=40A481F802F1
CDaoVariant::~CDaoVariant()
{

}

//##ModelId=40A481F80273
CString CDaoVariant::AsString()
{
	CString strValue;
	
	switch (vt)
	{
	case VT_BSTR://字符串
		strValue = V_BSTRT( this );
		break;
	case VT_CY:
		return COleCurrency(*this).Format();
	case VT_VOID://
	case VT_INT://整型
	case VT_I4://整型
		strValue.Format("%d", intVal);
		break;
	case VT_I2://短整型
		strValue.Format("%d", iVal);
		break;
	case VT_UI2://无符号短整型
		strValue.Format("%d", uiVal);
		break;
	case VT_I8://长整型
		strValue.Format("%d", lVal);
		break;
	case VT_UINT://无符号整型
	case VT_UI4://无符号整型
		strValue.Format("%d", uintVal);
		break;
	case VT_UI8://无符号长整型
		strValue.Format("%ld", ulVal);
		break;
	case VT_R4://浮点型
		strValue.Format("%.4f", fltVal);
		break;
	case VT_R8://双精度型
		strValue.Format("%.8f", dblVal);
		break;
	case VT_DECIMAL: //小数
		strValue.Format("%.4f", decVal);
		break;
	case VT_BOOL://布尔型
		return _T(lVal ? "TRUE" : "FALSE");
	case VT_DATE: //日期型
		return COleDateTime(date).Format("%Y-%m-%d %H:%M:%S");
	case VT_NULL://NULL值
		#ifdef _DEBUG
		return _T("NULL");
		#else
		return _T("");
		#endif
	case VT_EMPTY://空
		return _T("");
	case VT_UNKNOWN://未知类型
	default:
		strValue = "UN_KNOW";
		break;
	}

	return strValue;
}

//##ModelId=40A481F80272
int CDaoVariant::AsInt()
{
	CString s;

	switch(vt)
	{
	case VT_INT://整型
	case VT_I4://整型
		return  intVal;
	case VT_I2://短整型
		return  iVal;
	case VT_UI2://无符号短整型
		return  uiVal;
	case VT_I8://长整型
		return  lVal;
	case VT_UINT://无符号整型
	case VT_UI4://无符号整型
		return  uintVal;
	case VT_UI8://无符号长整型
		return  ulVal;
	case VT_R4://浮点型
		return int(fltVal);
		break;
	case VT_R8://双精度型
		return int(dblVal);
		break;
	case VT_BSTR://字符串
		s = V_BSTRT(this);
		return atoi(s);
		break;
	default:
		return 0;
	}
}

//##ModelId=40A481F80271
long CDaoVariant::AsLong()
{
	CString s;

	switch(vt)
	{
	case VT_INT://整型
	case VT_I4://整型
		return  intVal;
	case VT_I2://短整型
		return  iVal;
	case VT_UI2://无符号短整型
		return  uiVal;
	case VT_I8://长整型
		return  lVal;
	case VT_UINT://无符号整型
	case VT_UI4://无符号整型
		return  uintVal;
	case VT_UI8://无符号长整型
		return  ulVal;
	case VT_R4://浮点型
		return long(fltVal);
		break;
	case VT_R8://双精度型
		return long(dblVal);
		break;
	case VT_BSTR://字符串
		s = V_BSTRT(this);
		return atol(s);
		break;
	default:
		return 0l;
	}
}

//##ModelId=40A481F80264
float CDaoVariant::AsFloat()
{
	CString s;

	switch(vt)
	{
	case VT_INT://整型
	case VT_I4://整型
		return  (float)intVal;
	case VT_I2://短整型
		return  (float)iVal;
	case VT_UI2://无符号短整型
		return  (float)uiVal;
	case VT_I8://长整型
		return  (float)lVal;
	case VT_UINT://无符号整型
	case VT_UI4://无符号整型
		return  (float)uintVal;
	case VT_UI8://无符号长整型
		return  (float)ulVal;
	case VT_R4://浮点型
		return (float)fltVal;
		break;
	case VT_R8://双精度型
		return float(dblVal);
		break;
	case VT_BSTR://字符串
		s = V_BSTRT(this);
		return (float)atof(s);
		break;
	default:
		return 0l;
	}
}

//##ModelId=40A481F80263
double CDaoVariant::AsDouble()
{
	CString s;

	switch(vt)
	{
	case VT_INT://整型
	case VT_I4://整型
		return intVal;
	case VT_I2://短整型
		return  iVal;
	case VT_UI2://无符号短整型
		return uiVal;
	case VT_I8://长整型
		return lVal;
	case VT_UINT://无符号整型
	case VT_UI4://无符号整型
		return uintVal;
	case VT_UI8://无符号长整型
		return ulVal;
	case VT_R4://浮点型
		return fltVal;
		break;
	case VT_R8://双精度型
		return dblVal;
		break;
	case VT_BSTR://字符串
		s = V_BSTRT(this);
		return atof(s);
		break;
	default:
		return 0l;
	}
}

//##ModelId=40A481F80262
COleDateTime CDaoVariant::AsDateTime()
{
	if(vt == VT_DATE) //日期型
		return COleDateTime(date);
	else
		return COleDateTime();
}

//##ModelId=40A481F80261
COleCurrency CDaoVariant::AsCurrency()
{
	if(vt == VT_CY) //日期型
		return COleCurrency(*this);
	else
		return COleCurrency();
}
/*
CByteArray CDaoVariant::AsByteArray()
{
	if(vt == VT_CY) //日期型
		return CByteArray(*((Variant*)(this)));
	else
		return CByteArray();
}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -