//执行命令 bool __cdecl CDataBase::ExecuteCommand(bool bRecordset) { try { //关闭记录集 CloseRecordset(); //执行命令 if (bRecordset==true) { m_DBRecordset->PutRefSource(m_DBCommand); m_DBRecordset->CursorLocation=adUseClient; EfficacyResult(m_DBRecordset->Open((IDispatch *)m_DBCommand,vtMissing,adOpenForwardOnly,adLockReadOnly,adOptionUnspecified)); } else { m_DBConnection->CursorLocation=adUseClient; EfficacyResult(m_DBCommand->Execute(NULL,NULL,adExecuteNoRecords)); } return true; } catch (CComError & ComError) { if (IsConnectError()==true) TryConnectAgain(false,&ComError); else SetErrorInfo(ErrorType_Other,GetComErrorDescribe(ComError)); } return false; }
//执行语句 VOID __cdecl CDataBase::ExecuteProcess(LPCTSTR pszSPName, bool bRecordset) { ASSERT(pszSPName != NULL); try { //关闭记录集 CloseRecordset(); m_DBCommand->CommandText = pszSPName; //执行命令 if (bRecordset == true) { m_DBRecordset->PutRefSource(m_DBCommand); m_DBRecordset->CursorLocation = adUseClient; EfficacyResult(m_DBRecordset->Open((IDispatch *)m_DBCommand, vtMissing, adOpenForwardOnly, adLockReadOnly, adOptionUnspecified)); } else { m_DBConnection->CursorLocation = adUseClient; EfficacyResult(m_DBCommand->Execute(NULL, NULL, adExecuteNoRecords)); } } catch (CComError & ComError) { if (IsConnectError() == true) TryConnectAgain(false, &ComError); else SetErrorInfo(SQLException_Syntax, GetComErrorDescribe(ComError)); } }
//执行命令 VOID __cdecl CDataBase::ExecuteSentence(LPCTSTR pszCommand, bool bRecordset) { ASSERT(pszCommand != NULL); try { m_DBConnection->CursorLocation = adUseClient; m_DBConnection->Execute(pszCommand, NULL, adExecuteNoRecords); } catch (CComError & ComError) { if (IsConnectError() == true) TryConnectAgain(false, &ComError); else SetErrorInfo(SQLException_Syntax, GetComErrorDescribe(ComError)); } }
//执行语句 bool __cdecl CDataBase::Execute(LPCTSTR pszCommand) { ASSERT(pszCommand!=NULL); try { m_DBConnection->CursorLocation=adUseClient; m_DBConnection->Execute(pszCommand,NULL,adExecuteNoRecords); return true; } catch (CComError & ComError) { if (IsConnectError()==true) TryConnectAgain(false,&ComError); else SetErrorInfo(ErrorType_Other,GetComErrorDescribe(ComError)); } return false; }