📄 guiadodb.cpp
字号:
BOOL CGuiRecordSet::IsBof()
{
return (BOOL)m_rs->BOF;
}
BOOL CGuiRecordSet::Supports( CursorOptionEnum CursorOptions ) { return (BOOL)m_rs->Supports(CursorOptions);}
void CGuiRecordSet::CancelBatch(AffectEnum AffectRecords){ m_rs->CancelBatch(AffectRecords);}CGuiField CGuiRecordSet::GetField(LPCTSTR lpField)
{
FieldPtr pField = m_rs->Fields->GetItem(lpField);
CGuiField Field;
Field.Attach(pField);
return Field;
}
CGuiField CGuiRecordSet::GetField(int Index){ _variant_t vtIndex;
vtIndex.vt = VT_I2;
vtIndex.iVal = Index;
FieldPtr pField = m_rs->Fields->GetItem(vtIndex); CGuiField Field;
Field.Attach(pField);
return Field;}CGuiRecordSet* CGuiRecordSet::Clone(ADOCG::LockTypeEnum LockType){ _RecordsetPtr m_rs1=m_rs->Clone(LockType); CGuiRecordSet* m_pRs= new CGuiRecordSet(); m_pRs->Attach(m_rs1); return m_pRs; }CGuiRecordSet* CGuiRecordSet::NextRecordset(long RecordsAffected) { _RecordsetPtr m_rs1=m_rs->NextRecordset((VARIANT*)RecordsAffected); CGuiRecordSet* m_pRs= new CGuiRecordSet(); m_pRs->Attach(m_rs1); return m_pRs; }
//***********************************************************************************************************
CGuiField::CGuiField(void)
{
}
CGuiField::~CGuiField(void)
{
}
BOOL CGuiField::SetValue(long lVal)
{
_variant_t vt;
vt.lVal=lVal;
vt.vt=VT_I4;
try
{
field->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::SetValue(float flVal)
{
_variant_t vt;
vt.fltVal=flVal;
vt.vt=VT_R4;
try
{
field->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::SetValue(int nVal)
{
_variant_t vt;
vt.intVal=nVal;
vt.vt=VT_I2;
try
{
field->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::SetValue(double dbVal)
{
_variant_t vt;
vt.dblVal=dbVal;
vt.vt=VT_R8;
try
{
field->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::SetValue(CString szCad)
{
_variant_t vt;
if(!szCad.IsEmpty())
{
vt.vt = VT_BSTR;
vt.bstrVal = szCad.AllocSysString();
}
try
{
field->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::SetValue(bool blVal)
{
_variant_t vt;
vt.boolVal=blVal;
vt.vt=VT_BOOL;
try
{
field->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::SetValue(COleDateTime dtVal)
{
_variant_t vt;
vt.date=dtVal;
vt.vt=VT_DATE;
try
{
field->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::SetValue(_variant_t vt)
{
try
{
field->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::GetValue(int& nVal)
{
_variant_t vt;
vt = field->Value;
try
{
if (vt.vt==VT_I2)
{
nVal=vt.intVal;
return TRUE;
}else if (vt.vt==VT_BOOL)
{
nVal=vt.boolVal;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::GetValue(long& lVal)
{
_variant_t vt;
vt = field->Value;
try
{
if (vt.vt==VT_I4)
{
lVal=vt.lVal;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::GetValue(double& dbVal)
{
_variant_t vt;
vt = field->Value;
try
{
if (vt.vt==VT_R8)
{
dbVal=vt.dblVal;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::GetValue(CString& strValue)
{
_variant_t vt;
vt =field->Value;
try
{
if (vt.vt==VT_BSTR)
{
strValue=vt.bstrVal;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::GetValue(COleDateTime& dtVal)
{
_variant_t vt;
vt = field->Value;
try
{
if (vt.vt==VT_DATE)
{
dtVal=vt.date;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::GetValue(float& flVal)
{
_variant_t vt;
vt = field->Value;
try
{
if (vt.vt==VT_R4)
{
flVal=vt.fltVal;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiField::GetValue(_variant_t& vt)
{
try
{
_variant_t vt = field->Value;
return TRUE;
}
catch(_com_error& e)
{
GetError(e);
return FALSE;
}
}
//***********************************************************************************************************
CGuiParameter::CGuiParameter()
{
::CoInitialize(NULL);
pParam.CreateInstance(__uuidof(Parameter));
}
CGuiParameter::~CGuiParameter()
{
pParam->Release();
pParam=NULL;
}
void CGuiParameter::SetAttributes(long Attributes)
{
pParam->PutAttributes(Attributes);
}
void CGuiParameter::SetDirection(ADOCG::ParameterDirectionEnum Direction)
{
pParam->PutDirection(Direction);
}
void CGuiParameter::SetName(LPCTSTR szName)
{
CString mszname=szName;
pParam->Name=mszname.AllocSysString();
}
void CGuiParameter::SetNumericScale(unsigned char NumericScale)
{
pParam->PutNumericScale(NumericScale);
}
void CGuiParameter::SetPrecision(unsigned char Precision)
{
pParam->PutPrecision(Precision);
}
void CGuiParameter::SetSize(long Size)
{
pParam->PutSize(Size);
}
void CGuiParameter::SetType(ADOCG::DataTypeEnum Type)
{
pParam->PutType(Type);
}
BOOL CGuiParameter::SetValue(long lVal)
{
_variant_t vt;
vt.lVal=lVal;
vt.vt=VT_I4;
try
{
pParam->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::SetValue(float flVal)
{
_variant_t vt;
vt.fltVal=flVal;
vt.vt=VT_R4;
try
{
pParam->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::SetValue(int nVal)
{
_variant_t vt;
vt.intVal=nVal;
vt.vt=VT_I2;
try
{
pParam->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::SetValue(double dbVal)
{
_variant_t vt;
vt.dblVal=dbVal;
vt.vt=VT_R8;
try
{
pParam->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::SetValue(CString szCad)
{
_variant_t vt;
if(!szCad.IsEmpty())
{
vt.vt = VT_BSTR;
vt.bstrVal = szCad.AllocSysString();
}
try
{
pParam->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::SetValue(bool blVal)
{
_variant_t vt;
vt.boolVal=blVal;
vt.vt=VT_BOOL;
try
{
pParam->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::SetValue(COleDateTime dtVal)
{
_variant_t vt;
vt.date=dtVal;
vt.vt=VT_DATE;
try
{
pParam->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::SetValue(_variant_t vt)
{
try
{
pParam->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::GetValue(int& nVal)
{
_variant_t vt;
vt = pParam->Value;
try
{
if (vt.vt==VT_I2)
{
nVal=vt.intVal;
return TRUE;
}else if (vt.vt==VT_BOOL)
{
nVal=vt.boolVal;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::GetValue(long& lVal)
{
_variant_t vt;
vt = pParam->Value;
try
{
if (vt.vt==VT_I4)
{
lVal=vt.lVal;
return TRUE;
}if (vt.vt==VT_BSTR)
{
CString cad=vt.bstrVal;
lVal=atol(cad);
return TRUE;
}
else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::SetValue(COleCurrency cyVal)
{
_variant_t vt;
vt.cyVal=cyVal.m_cur;
vt.vt=VT_CY;
try
{
pParam->Value=vt;
return TRUE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::GetValue(double& dbVal)
{
_variant_t vt;
vt = pParam->Value;
try
{
if (vt.vt==VT_R8)
{
dbVal=vt.dblVal;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::GetValue(CString& strValue)
{
_variant_t vt;
vt =pParam->Value;
try
{
if (vt.vt==VT_BSTR)
{
strValue=vt.bstrVal;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::GetValue(COleDateTime& dtVal)
{
_variant_t vt;
vt = pParam->Value;
try
{
if (vt.vt==VT_DATE)
{
dtVal=vt.date;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::GetValue(COleCurrency& cyVal)
{
_variant_t vt;
vt = pParam->Value;
try
{
if (vt.vt==VT_CY)
{
cyVal.m_cur=vt.cyVal;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::GetFormatDate(CString& m_szDate, CString Format)
{
COleDateTime time;
if (!GetValue(time)) return FALSE;
CTime ct(time.GetYear(),time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());
m_szDate =ct.Format(Format);
return TRUE;
}
BOOL CGuiParameter::GetValue(float& flVal)
{
_variant_t vt;
vt = pParam->Value;
try
{
if (vt.vt==VT_R4)
{
flVal=vt.fltVal;
return TRUE;
}else return FALSE;
}catch(_com_error &e)
{
GetError(e);
return FALSE;
}
}
BOOL CGuiParameter::GetValue(_variant_t& vt)
{
try
{
_variant_t vt = pParam->Value;
return TRUE;
}
catch(_com_error& e)
{
GetError(e);
return FALSE;
}
}
//----------------------------------------------------------------------------------------------
CGuiCommand::CGuiCommand()
{
::CoInitialize(NULL);
pCommand.CreateInstance(__uuidof(Command));
}
CGuiCommand::~CGuiCommand()
{
Cancel();
pCommand->Release();
pCommand=NULL;
}
void CGuiCommand::SetActiveConnection(LPCTSTR szconnec)
{
m_pCon.Open(szconnec);
ASSERT( m_pCon.IsConnect());
SetActiveConnection(&m_pCon);
}
void CGuiCommand::SetActiveConnection(CGuiConnection* pCon)
{
ASSERT(pCon->IsConnect());
pCommand->ActiveConnection=pCon->GetConecction();
}
void CGuiCommand::Cancel()
{
pCommand->Cancel();
}
void CGuiCommand::SetCommandText(LPCTSTR lpCommand,CommandTypeEnum cmdType)
{
CString szCommand=lpCommand;
pCommand->CommandText=szCommand.AllocSysString();
pCommand->PutCommandType(cmdType);
}
void CGuiCommand::SetCommandTimeout(long CommandTimeout)
{
pCommand->PutCommandTimeout(CommandTimeout);
}
void CGuiCommand::SetPrepared(BOOL prepared)
{
pCommand->PutPrepared((BOOL) prepared);
}
long CGuiCommand::GetState()
{
return pCommand->GetState();
}
CGuiRecordSet* CGuiCommand::Execute(VARIANT* param1,VARIANT* param2,long Options)
{
try
{
_RecordsetPtr m_rs = pCommand->Execute(NULL, NULL, Options);
CGuiRecordSet* m_prs= new CGuiRecordSet();
m_prs->Attach(m_rs);
return m_prs;
}
catch(_com_error &e)
{
GetError(e);
return NULL;
}
}
CGuiParameter* CGuiCommand::CreateParameter(CString Name ,long Size ,
ADOCG::DataTypeEnum Type,
ADOCG::ParameterDirectionEnum Direction)
{
_ParameterPtr param=pCommand->CreateParameter(Name.AllocSysString(), Type,Direction, Size);
CGuiParameter* pParam=new CGuiParameter();
pParam->Attach(param);
return pParam;
}
BOOL CGuiCommand::Append(CGuiParameter* pParam)
{
try
{
pCommand->Parameters->Append(pParam->GetParameter());
return TRUE;
}
catch(_com_error& e)
{
GetError(e);
return FALSE;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -