//执行命令 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::CloseRecordset() { try { if (IsRecordsetOpened()) EfficacyResult(m_DBRecordset->Close()); } catch (CComError & ComError) { SetErrorInfo(SQLException_Syntax, GetComErrorDescribe(ComError)); } }
//关闭记录 bool __cdecl CDataBase::CloseRecordset() { try { if (IsRecordsetOpened()) EfficacyResult(m_DBRecordset->Close()); return true; } catch (CComError & ComError) { SetErrorInfo(ErrorType_Other,GetComErrorDescribe(ComError)); } return false; }
//关闭连接 VOID __cdecl CDataBase::CloseConnection() { try { CloseRecordset(); if ((m_DBConnection != NULL) && (m_DBConnection->GetState() != adStateClosed)) { EfficacyResult(m_DBConnection->Close()); } } catch (CComError & ComError) { SetErrorInfo(SQLException_Syntax, GetComErrorDescribe(ComError)); } }
//关闭连接 bool __cdecl CDataBase::CloseConnection() { try { CloseRecordset(); if ((m_DBConnection!=NULL)&&(m_DBConnection->GetState()!=adStateClosed)) { EfficacyResult(m_DBConnection->Close()); } return true; } catch (CComError & ComError) { SetErrorInfo(ErrorType_Other,GetComErrorDescribe(ComError)); } return false; }
//打开连接 VOID __cdecl CDataBase::OpenConnection() { //连接数据库 try { //关闭连接 CloseConnection(); //连接数据库 EfficacyResult(m_DBConnection->Open(_bstr_t(m_strConnect), L"", L"", adConnectUnspecified)); m_DBConnection->CursorLocation = adUseClient; m_DBCommand->ActiveConnection = m_DBConnection; //设置变量 m_dwConnectCount = 0L; m_dwConnectErrorTime = 0L; } catch (CComError & ComError) { SetErrorInfo(SQLException_Syntax, GetComErrorDescribe(ComError)); } }
//打开连接 bool __cdecl CDataBase::OpenConnection() { //连接数据库 try { //关闭连接 CloseConnection(); //连接数据库 EfficacyResult(m_DBConnection->Open(_bstr_t(m_strConnect),L"",L"",adConnectUnspecified)); m_DBConnection->CursorLocation=adUseClient; m_DBCommand->ActiveConnection=m_DBConnection; //设置变量 m_dwConnectCount=0L; m_dwConnectErrorTime=0L; return true; } catch (CComError & ComError) { SetErrorInfo(ErrorType_Other,GetComErrorDescribe(ComError)); } return false; }