//--------------------------------------------------------------------------- #pragma hdrstop #include "CDSCenterCommF.h" #include "VmsCommonLibF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- TCommInfo::TCommInfo() { } //--------------------------------------------------------------------------- TCommInfo::~TCommInfo() { } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- TCommTarget::TCommTarget() { } //--------------------------------------------------------------------------- TCommTarget::~TCommTarget() { } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- TCenterCommManager *CenterCommManager = NULL; //--------------------------------------------------------------------------- TCenterCommManager::TCenterCommManager() { } //--------------------------------------------------------------------------- TCenterCommManager::~TCenterCommManager() { FLists.RemoveAll(); } //--------------------------------------------------------------------------- int TCenterCommManager::LoadFromDb(String APRCS_ID, TADOConnection *ADbConn) { String sQry; TADOQuery *pADO = NULL; int nSelCnt = 0; sQry = "SELECT T1.CMD_SE, T2.SRVR_IP, T1.CMNC_PORT \r\n" " FROM TB_SYS_PRCS_CMNC_TGT T1, \r\n" " TB_SYS_PRCS T2 \r\n" " WHERE 1=1 \r\n" " AND T1.CMNC_KIND = 'U' \r\n" " AND T1.CMD_SE IN ('21', '22', '23', '24', '71') \r\n" " AND T1.RCV_PRCS_ID = T2.PRCS_ID \r\n" " GROUP BY T1.CMD_SE, T2.SRVR_IP, T1.CMNC_PORT \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Connection = ADbConn; pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Prepared = true; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { TCommInfo *pCommInfo = new TCommInfo(); pCommInfo->CMD_SE = pADO->FieldByName("CMD_SE")->AsString; pCommInfo->SRVR_IP = pADO->FieldByName("SRVR_IP")->AsString; pCommInfo->CMNC_PORT = pADO->FieldByName("CMNC_PORT")->AsInteger; TCommTarget *pCommTarget = FLists.Find(pCommInfo->CMD_SE); if (!pCommTarget) { pCommTarget = new TCommTarget(); pCommTarget->CMD_SE = pCommInfo->CMD_SE; FLists.Push(pCommTarget->CMD_SE, pCommTarget); } pCommTarget->FLists.Push(pCommTarget->FLists.Size(), pCommInfo); nSelCnt++; } } catch(EDatabaseError &E) { DBERRORMSG("TCenterCommManager::LoadFromDb", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("TCenterCommManager::LoadFromDb", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return nSelCnt; } //---------------------------------------------------------------------------