//--------------------------------------------------------------------------- #pragma hdrstop #include "CDSVmsObjTypeF.h" #include "AppGlobalF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) TVmsObjUse::TVmsObjUse() { } //--------------------------------------------------------------------------- TVmsObjUse::~TVmsObjUse() { MODE = enUPDATE; } //--------------------------------------------------------------------------- TVmsObjUseManager::TVmsObjUseManager() { } //--------------------------------------------------------------------------- TVmsObjUseManager::~TVmsObjUseManager() { FLists.RemoveAll(); } //--------------------------------------------------------------------------- bool TVmsObjUseManager::LoadFromDb(String AFormId, TADOConnection *ADbConn/*=NULL*/) { return true; } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- TVmsObjType::TVmsObjType() { } //--------------------------------------------------------------------------- TVmsObjType::~TVmsObjType() { FLists.RemoveAll(); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- TVmsObjTypeManager *VmsObjTypeManager = NULL; //--------------------------------------------------------------------------- TVmsObjTypeManager::TVmsObjTypeManager() { } //--------------------------------------------------------------------------- TVmsObjTypeManager::~TVmsObjTypeManager() { FLists.RemoveAll(); } //--------------------------------------------------------------------------- bool TVmsObjTypeManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/) { String sQry; TADOQuery *pADO = NULL; try { FLists.Lock(); FLists.RemoveAll(); } __finally { FLists.UnLock(); } sQry = "SELECT VMS_FORM_TYPE_CD AS TYPE, \r\n" " VMS_FORM_OBJECT_TYPE_CD AS CD, \r\n" " VMS_FORM_OBJECT_TYPE_NM AS NM, \r\n" " EDTN_CD \r\n" " FROM TB_VMS_FORM_OBJECT_TYPE \r\n" " ORDER BY TYPE, CD \r\n"; try { FLists.Lock(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Open(); for( ; !pADO->Eof; pADO->Next()) { String sUse = pADO->FieldByName("EDTN_CD")->AsString; if (sUse == "EDI2") continue; int nFormType = pADO->FieldByName("TYPE")->AsInteger; TVmsObjType *pObj = FLists.Find(nFormType); if (!pObj) { pObj = new TVmsObjType(); FLists.Push(nFormType, pObj); } pObj->TYPE = nFormType; int nType = pADO->FieldByName("CD")->AsInteger; TFormObjType *pType = pObj->FLists.Find(nType); if (!pType) { pType = new TFormObjType(); pObj->FLists.Push(nType, pType); } pType->TYPE = pADO->FieldByName("CD")->AsInteger; pType->NAME = pADO->FieldByName("NM")->AsString; pType->EDTN_CD = sUse; } } catch(EDatabaseError &E) { DBERRORMSG("VMSÆû°´Ã¼À¯ÇüÁ¶È¸", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("VMSÆû°´Ã¼À¯ÇüÁ¶È¸", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } FLists.UnLock(); } return true; } //---------------------------------------------------------------------------