📄 recordsetoperate.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 + -