CDSVmsColorF.cpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSVmsColorF.h"
  4. #include "AppGlobalF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. //---------------------------------------------------------------------------
  8. //---------------------------------------------------------------------------
  9. TCDSVmsColorManager *CDSVmsColorManager = NULL;
  10. //---------------------------------------------------------------------------
  11. /*
  12. * Manager
  13. */
  14. TCDSVmsColorManager::TCDSVmsColorManager()
  15. {
  16. }
  17. //---------------------------------------------------------------------------
  18. TCDSVmsColorManager::~TCDSVmsColorManager()
  19. {
  20. FLists.RemoveAll();
  21. }
  22. //---------------------------------------------------------------------------
  23. int TCDSVmsColorManager::GetNextColorId()
  24. {
  25. FMaxID = 0;
  26. FOR_STL(TCDSVmsColor*, pObj, FLists)
  27. {
  28. if (pObj->VMS_FONT_COLR_CD > FMaxID)
  29. {
  30. FMaxID = pObj->VMS_FONT_COLR_CD;
  31. }
  32. }
  33. return FMaxID+1;
  34. }
  35. //---------------------------------------------------------------------------
  36. bool TCDSVmsColorManager::LoadFromDb(TADOConnection *ADbConn)
  37. {
  38. String sQry;
  39. TADOQuery *pADO = NULL;
  40. sQry = "SELECT A.* \r\n"
  41. " FROM TB_VMS_FONT_COLR A \r\n";
  42. FMaxID = 0;
  43. FLists.Lock();
  44. try
  45. {
  46. FLists.RemoveAll();
  47. try
  48. {
  49. pADO = new TADOQuery(NULL);
  50. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  51. pADO->SQL->Clear();
  52. pADO->SQL->Text = sQry;
  53. pADO->Prepared = true;
  54. pADO->Open();
  55. for( ; !pADO->Eof; pADO->Next())
  56. {
  57. int VMS_FONT_COLR_CD = pADO->FieldByName("VMS_FONT_COLR_CD")->AsInteger;
  58. String VMS_FONT_COLR_NM = pADO->FieldByName("VMS_FONT_COLR_NM")->AsString.Trim();
  59. int VMS_FONT_COLR_VAL = pADO->FieldByName("VMS_FONT_COLR_VAL")->AsInteger;
  60. String USE_YN = pADO->FieldByName("USE_YN")->AsString.Trim();
  61. if (VMS_FONT_COLR_CD > FMaxID)
  62. {
  63. FMaxID = VMS_FONT_COLR_CD;
  64. }
  65. TCDSVmsColor *pObj = FLists.Find(VMS_FONT_COLR_CD);
  66. if (!pObj)
  67. {
  68. pObj = new TCDSVmsColor();
  69. pObj->VMS_FONT_COLR_CD = VMS_FONT_COLR_CD;
  70. FLists.Push(pObj->VMS_FONT_COLR_CD, pObj);
  71. }
  72. pObj->VMS_FONT_COLR_NM = VMS_FONT_COLR_NM;
  73. pObj->VMS_FONT_COLR_VAL = VMS_FONT_COLR_VAL;
  74. pObj->USE_YN = USE_YN;
  75. pObj->Completed = true;
  76. pObj->EditMode = DB_INIT;
  77. }
  78. }
  79. catch(EDatabaseError &E)
  80. {
  81. DBERRORMSG("TCDSVmsColorManager::LoadFromDb", String(E.ClassName()), E.Message, sQry);
  82. throw Exception(String(E.ClassName()) + E.Message);
  83. }
  84. catch(Exception &e)
  85. {
  86. DBERRORMSG("TCDSVmsColorManager::LoadFromDb", String(e.ClassName()), e.Message, sQry);
  87. throw Exception(String(e.ClassName()) + e.Message);
  88. }
  89. }
  90. __finally
  91. {
  92. if (pADO)
  93. {
  94. pADO->Close();
  95. delete pADO;
  96. }
  97. FLists.UnLock();
  98. }
  99. return true;
  100. }
  101. //---------------------------------------------------------------------------