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

📄 recordsetoperate.cpp

📁 用VC++和SQL做的仓库管理系统
💻 CPP
字号:
#include "Stdafx.h"
#include "RecordsetOperate.h"
#include "stdafx.h"
RecordsetOperate::RecordsetOperate(void)
{
	/*Recordset=NULL;*/
}

RecordsetOperate::~RecordsetOperate(void)
{
	/*if(Recordset!=NULL)
	{
		Close();
		Release();
	}*/
}

int RecordsetOperate::GetCount()
{
	return (int)Recordset->GetFields()->GetCount();
}

CString RecordsetOperate::GetItemName(int Index)
{
	_variant_t vIndex=(_variant_t)(long)Index;
	CString strName=(LPCTSTR)Recordset->GetFields()->GetItem(&vIndex)->Name;
	return strName;
}

CString RecordsetOperate::GetItemValue(int Index)
{
	_variant_t vIndex=(_variant_t)(long)Index;
	CString strValue=VariantToCString(Recordset->GetFields()->GetItem(&vIndex)->Value);
	strValue.TrimRight();
	return strValue;
}

VARIANT_BOOL RecordsetOperate::adoEOF()
{
	return Recordset->adoEOF;
}

VARIANT_BOOL RecordsetOperate::adoBOF()
{
	return Recordset->BOF;
}

HRESULT RecordsetOperate::MoveFirst()
{
	return Recordset->MoveFirst();
}

HRESULT RecordsetOperate::MoveLast()
{
	return Recordset->MoveLast();
}

HRESULT RecordsetOperate::MoveNext()
{
	return Recordset->MoveNext();
}

HRESULT RecordsetOperate::MovePrevious()
{
	return Recordset->MovePrevious();
}

HRESULT RecordsetOperate::Close()
{
	return Recordset->Close();
}

void RecordsetOperate::Release()
{
	Recordset.Release();
}

CString RecordsetOperate::VariantToCString(_variant_t &var)
{
	CString strValue;
	switch(var.vt)
	{
	case VT_BSTR:
	case VT_LPSTR:
	case VT_LPWSTR:
		strValue=(LPCTSTR)(_bstr_t)var;
		break;
	case VT_I1:
	case VT_UI1:
		strValue.Format(_T("%d"),var.bVal);
		break;
	case VT_I2:
		strValue.Format(_T("%d"),var.iVal);
		break;
	case VT_UI2:
		strValue.Format(_T("%d"),var.uiVal);
		break;
	case VT_INT:
		strValue.Format(_T("%d"),var.intVal);
		break;
	case VT_I4:
	case VT_I8:
		strValue.Format(_T("%d"),var.lVal);
		break;
	case VT_UINT:
		strValue.Format(_T("%d"),var.uintVal);
		break;
	case VT_UI4:
	case VT_UI8:
		strValue.Format(_T("%d"),var.ulVal);
		break;
	case VT_VOID:
		strValue.Format(_T("%8x"),var.byref);
		break;
	case VT_R4:
		strValue.Format(_T("%.4f"),var.fltVal);
		break;
	case VT_R8:
		strValue.Format(_T("%.8f"),var.dblVal);
		break;
	case VT_DECIMAL:
		strValue.Format(_T("%.8f"),(double)var);
		break;
	case VT_CY:
		{
			COleCurrency cy=var.cyVal;
			strValue=cy.Format();
		}
		break;
	case VT_BLOB:
	case VT_BLOB_OBJECT:
	case 0x2011:
		strValue=_T("[BLOB]");
		break;
	case VT_BOOL:
		strValue=var.boolVal ? _T("TRUE"):_T("FALSE");
		break;
	case VT_DATE:
		{
			DATE dt=var.date;
			COleDateTime da=COleDateTime(dt);
			strValue=da.Format(_T("%Y-%m-%d %H:%M:%S"));
		}
		break;
	case VT_NULL:
	case VT_EMPTY:
		strValue=_T("");
		break;
	case VT_UNKNOWN:
	default:
		strValue=_T("UN_KNOW");
		break;
	}
	return strValue;
}

⌨️ 快捷键说明

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