CDSDsrcOfferSectF.cpp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSDsrcOfferSectF.h"
  4. #include "ITS_OPLibF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. TItsDsrcOfferSectInfr::TItsDsrcOfferSectInfr()
  8. {
  9. FCompleted = false;
  10. FEditMode = DB_INIT;
  11. FGridIndex = -1;
  12. MEM_DEL = "N";
  13. //Clear();
  14. }
  15. //---------------------------------------------------------------------------
  16. void TItsDsrcOfferSectInfr::Clear()
  17. {
  18. OFFR_SECT_ID = "";
  19. IFSC_ID = "";
  20. ORD = 0;
  21. }
  22. //---------------------------------------------------------------------------
  23. TItsDsrcOfferSectInfr::~TItsDsrcOfferSectInfr()
  24. {
  25. }
  26. //---------------------------------------------------------------------------
  27. TItsDsrcOfferSect::TItsDsrcOfferSect()
  28. {
  29. FCompleted = false;
  30. FEditMode = DB_INIT;
  31. FGridIndex = -1;
  32. MEM_DEL = "N";
  33. //Clear();
  34. }
  35. //---------------------------------------------------------------------------
  36. void TItsDsrcOfferSect::Clear()
  37. {
  38. OFFR_SECT_ID = "";
  39. OFFR_DRCT_NM = "";
  40. CNGS_BASI_SPED = "";
  41. DELY_BASI_SPED = "";
  42. ID = "";
  43. OBU_ENTR_DRCT_NMBR = "";
  44. PRE_ID = "";
  45. IXR_DRCT_NUM = "";
  46. TARGETNM = "";
  47. PRENM = "";
  48. }
  49. //---------------------------------------------------------------------------
  50. TItsDsrcOfferSect::~TItsDsrcOfferSect()
  51. {
  52. FSectLists.RemoveAll();
  53. }
  54. //---------------------------------------------------------------------------
  55. //---------------------------------------------------------------------------
  56. TItsDsrcOfferSectManager *ItsDsrcOfferSectManager = NULL;
  57. //---------------------------------------------------------------------------
  58. /*
  59. * DsrcOfferSect Manager
  60. */
  61. TItsDsrcOfferSectManager::TItsDsrcOfferSectManager()
  62. {
  63. }
  64. //---------------------------------------------------------------------------
  65. TItsDsrcOfferSectManager::~TItsDsrcOfferSectManager()
  66. {
  67. FLists.RemoveAll();
  68. }
  69. //---------------------------------------------------------------------------
  70. bool TItsDsrcOfferSectManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
  71. {
  72. FLists.RemoveAll();
  73. LoadSectMngr(ADbConn);
  74. LoadSectInfr(ADbConn);
  75. return true;
  76. }
  77. bool TItsDsrcOfferSectManager::LoadSectInfr(TADOConnection *ADbConn/*=NULL*/)
  78. {
  79. String sQry;
  80. TADOQuery *pADO = NULL;
  81. sQry = "SELECT OFFR_SECT_ID, \r\n"
  82. " IFSC_ID, \r\n"
  83. " ORD \r\n"
  84. " FROM TB_RSE_OFFR_SECT_INFR \r\n";
  85. try
  86. {
  87. FLists.Lock();
  88. try
  89. {
  90. pADO = new TADOQuery(NULL);
  91. pADO->Close();
  92. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  93. pADO->SQL->Clear();
  94. pADO->SQL->Text = sQry;
  95. pADO->Prepared = true;
  96. pADO->Open();
  97. for( ; !pADO->Eof; pADO->Next())
  98. {
  99. String sOffrSectId = pADO->FieldByName("OFFR_SECT_ID")->AsString;
  100. TItsDsrcOfferSect *pObj = FLists.Find(sOffrSectId);
  101. if (!pObj) continue;
  102. TItsDsrcOfferSectInfr *pSectObj = new TItsDsrcOfferSectInfr();
  103. pSectObj->OFFR_SECT_ID = pADO->FieldByName("OFFR_SECT_ID")->AsString;
  104. pSectObj->IFSC_ID = pADO->FieldByName("IFSC_ID")->AsString;
  105. pSectObj->ORD = pADO->FieldByName("ORD")->AsInteger;
  106. pSectObj->DEL_YN = "N";
  107. pObj->FSectLists.Push(pSectObj->ORD, pSectObj);
  108. pSectObj->Completed = true;
  109. pSectObj->MEM_DEL = "N";
  110. }
  111. }
  112. catch(EDatabaseError &E)
  113. {
  114. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  115. DBERRORMSG("RSE제공구간정보조회", String(E.ClassName()), E.Message, sQry);
  116. throw Exception(String(E.ClassName()) + E.Message);
  117. }
  118. catch(Exception &exception)
  119. {
  120. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  121. DBERRORMSG("RSE제공구간정보조회", String(exception.ClassName()), exception.Message, sQry);
  122. throw Exception(String(exception.ClassName()) + exception.Message);
  123. }
  124. }
  125. __finally
  126. {
  127. if (pADO)
  128. {
  129. pADO->Close();
  130. delete pADO;
  131. }
  132. FLists.UnLock();
  133. }
  134. return true;
  135. }
  136. //---------------------------------------------------------------------------
  137. bool TItsDsrcOfferSectManager::LoadSectMngr(TADOConnection *ADbConn/*=NULL*/)
  138. {
  139. String sQry;
  140. TADOQuery *pADO = NULL;
  141. #if 0
  142. sQry = "SELECT OFFR_SECT_ID, \r\n"
  143. " OFFR_DRCT_NM, \r\n"
  144. " CNGS_BASI_SPED, \r\n"
  145. " DELY_BASI_SPED, \r\n"
  146. " ID, \r\n"
  147. " OBU_ENTR_DRCT_NMBR \r\n"
  148. " FROM TB_RSE_OFFR_SECT_MNGM \r\n";
  149. //" ORDER BY OFFR_SECT_ID \r\n";
  150. #else
  151. sQry = "SELECT A.OFFR_SECT_ID, A.OFFR_DRCT_NM, A.CNGS_BASI_SPED, A.DELY_BASI_SPED, \r\n"
  152. " A.ID, A.OBU_ENTR_DRCT_NMBR, C.PRE_ID, C.IXR_DRCT_NUM, \r\n"
  153. " (SELECT ISTL_LCTN_NM FROM TB_RSE_MSTR WHERE ID = A.ID) TARGETNM, \r\n"
  154. " (SELECT ISTL_LCTN_NM FROM TB_RSE_MSTR WHERE ID = C.PRE_ID) PRENM \r\n"
  155. " FROM TB_RSE_OFFR_SECT_MNGM A, \r\n"
  156. " TB_RSE_OFFR_DRCT_INFR C \r\n"
  157. " WHERE A.ID = C.ID(+) \r\n"
  158. " AND A.OBU_ENTR_DRCT_NMBR = C.OBU_ENTR_DRCT_NMBR(+) \r\n";
  159. //" ORDER BY TO_NUMBER(A.OFFR_SECT_ID) \r\n";
  160. #endif
  161. try
  162. {
  163. FLists.Lock();
  164. FLists.RemoveAll();
  165. try
  166. {
  167. pADO = new TADOQuery(NULL);
  168. pADO->Close();
  169. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  170. pADO->SQL->Clear();
  171. pADO->SQL->Text = sQry;
  172. pADO->Prepared = true;
  173. pADO->Open();
  174. for( ; !pADO->Eof; pADO->Next())
  175. {
  176. TItsDsrcOfferSect *pObj = new TItsDsrcOfferSect();
  177. pObj->OFFR_SECT_ID = pADO->FieldByName("OFFR_SECT_ID")->AsString;
  178. pObj->OFFR_DRCT_NM = pADO->FieldByName("OFFR_DRCT_NM")->AsString;
  179. pObj->CNGS_BASI_SPED = pADO->FieldByName("CNGS_BASI_SPED")->AsString;
  180. pObj->DELY_BASI_SPED = pADO->FieldByName("DELY_BASI_SPED")->AsString;
  181. pObj->ID = pADO->FieldByName("ID")->AsString;
  182. pObj->OBU_ENTR_DRCT_NMBR = pADO->FieldByName("OBU_ENTR_DRCT_NMBR")->AsString;
  183. pObj->PRE_ID = pADO->FieldByName("PRE_ID")->AsString;
  184. pObj->IXR_DRCT_NUM = pADO->FieldByName("IXR_DRCT_NUM")->AsString;
  185. pObj->TARGETNM = pADO->FieldByName("TARGETNM")->AsString;
  186. pObj->PRENM = pADO->FieldByName("PRENM")->AsString;
  187. pObj->DEL_YN = "N";
  188. FLists.Push(pObj->OFFR_SECT_ID, pObj);
  189. pObj->Completed = true;
  190. pObj->MEM_DEL = "N";
  191. }
  192. }
  193. catch(EDatabaseError &E)
  194. {
  195. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  196. DBERRORMSG("RSE제공구간링크정보조회", String(E.ClassName()), E.Message, sQry);
  197. throw Exception(String(E.ClassName()) + E.Message);
  198. }
  199. catch(Exception &exception)
  200. {
  201. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  202. DBERRORMSG("RSE제공구간링크정보조회", String(exception.ClassName()), exception.Message, sQry);
  203. throw Exception(String(exception.ClassName()) + exception.Message);
  204. }
  205. }
  206. __finally
  207. {
  208. if (pADO)
  209. {
  210. pADO->Close();
  211. delete pADO;
  212. }
  213. FLists.UnLock();
  214. }
  215. return true;
  216. }
  217. //---------------------------------------------------------------------------
  218. bool TItsDsrcOfferSectManager::GetNextOffrSectId(String &ANewId, TADOConnection *ADbConn/*=NULL*/)
  219. {
  220. String sQry;
  221. TADOQuery *pADO = NULL;
  222. sQry = "SELECT TO_NUMBER(CASE WHEN EXISTS (SELECT 1 FROM TB_RSE_OFFR_SECT_MNGM) \r\n"
  223. " THEN (SELECT TRIM(MAX(TO_NUMBER(OFFR_SECT_ID)) + 1) \r\n"
  224. " FROM TB_RSE_OFFR_SECT_MNGM) \r\n"
  225. " ELSE '1' END) AS NEWID \r\n"
  226. " FROM DUAL \r\n";
  227. ANewId = "";
  228. try
  229. {
  230. try
  231. {
  232. pADO = new TADOQuery(NULL);
  233. pADO->Close();
  234. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  235. pADO->SQL->Clear();
  236. pADO->SQL->Text = sQry;
  237. pADO->Prepared = true;
  238. pADO->Open();
  239. ANewId = pADO->FieldByName("NEWID")->AsString;
  240. return true;
  241. }
  242. catch(EDatabaseError &E)
  243. {
  244. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  245. DBERRORMSG("RSE제공구간 신규ID조회", String(E.ClassName()), E.Message, sQry);
  246. throw Exception(String(E.ClassName()) + E.Message);
  247. }
  248. catch(Exception &exception)
  249. {
  250. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  251. DBERRORMSG("RSE제공구간 신규ID조회", String(exception.ClassName()), exception.Message, sQry);
  252. throw Exception(String(exception.ClassName()) + exception.Message);
  253. }
  254. }
  255. __finally
  256. {
  257. if (pADO)
  258. {
  259. pADO->Close();
  260. delete pADO;
  261. }
  262. }
  263. return false;
  264. }
  265. //---------------------------------------------------------------------------
  266. bool TItsDsrcOfferSectManager::GetAutoRseDrctNum(String ARseId, int &AAutoNum, TADOConnection *ADbConn/*=NULL*/)
  267. {
  268. String sQry;
  269. TADOQuery *pADO = NULL;
  270. sQry = "SELECT TO_NUMBER(CASE WHEN EXISTS (SELECT 1 FROM TB_RSE_OFFR_SECT_MNGM) \r\n"
  271. " THEN (SELECT TRIM(MAX(TO_NUMBER(OBU_ENTR_DRCT_NMBR)) + 1) \r\n"
  272. " FROM TB_RSE_OFFR_SECT_MNGM \r\n"
  273. " WHERE ID = :p01) \r\n"
  274. " ELSE '1' END) AS AUTONUM \r\n"
  275. " FROM DUAL \r\n";
  276. AAutoNum = 0;
  277. try
  278. {
  279. try
  280. {
  281. pADO = new TADOQuery(NULL);
  282. pADO->Close();
  283. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  284. pADO->SQL->Clear();
  285. pADO->SQL->Text = sQry;
  286. pADO->Parameters->ParamByName("p01")->Value = ARseId;
  287. pADO->Prepared = true;
  288. pADO->Open();
  289. AAutoNum = pADO->FieldByName("AUTONUM")->AsInteger;
  290. return true;
  291. }
  292. catch(EDatabaseError &E)
  293. {
  294. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  295. DBERRORMSG("RSE제공구간 신규DRCT ID조회", String(E.ClassName()), E.Message, sQry);
  296. throw Exception(String(E.ClassName()) + E.Message);
  297. }
  298. catch(Exception &exception)
  299. {
  300. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  301. DBERRORMSG("RSE제공구간 신규DRCT ID조회", String(exception.ClassName()), exception.Message, sQry);
  302. throw Exception(String(exception.ClassName()) + exception.Message);
  303. }
  304. }
  305. __finally
  306. {
  307. if (pADO)
  308. {
  309. pADO->Close();
  310. delete pADO;
  311. }
  312. }
  313. return false;
  314. }
  315. //---------------------------------------------------------------------------
  316. bool TItsDsrcOfferSectManager::DeleteOfferSect(String AOfferSectId, TADOConnection *ADbConn/*=NULL*/)
  317. {
  318. String sQry;
  319. TADOQuery *pADO = NULL;
  320. //정보제공구간목록
  321. sQry = "DELETE TB_RSE_OFFR_SECT_INFR WHERE OFFR_SECT_ID = :p01 \r\n";
  322. try
  323. {
  324. FLists.Lock();
  325. try
  326. {
  327. pADO = new TADOQuery(NULL);
  328. pADO->Close();
  329. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  330. pADO->SQL->Clear();
  331. pADO->SQL->Text = sQry;
  332. pADO->Parameters->ParamByName("p01")->Value = AOfferSectId;
  333. pADO->ExecSQL();
  334. //정보제공이력-->외래키를 삭제하는것이 맞음
  335. sQry = "DELETE TB_RSE_OFFR_INFR_HS WHERE OFFR_SECT_ID = :p01 \r\n";
  336. pADO->SQL->Clear();
  337. pADO->SQL->Text = sQry;
  338. pADO->Parameters->ParamByName("p01")->Value = AOfferSectId;
  339. pADO->ExecSQL();
  340. //정보제공구간 마스터
  341. sQry = "DELETE TB_RSE_OFFR_SECT_MNGM WHERE OFFR_SECT_ID = :p01 \r\n";
  342. pADO->SQL->Clear();
  343. pADO->SQL->Text = sQry;
  344. pADO->Parameters->ParamByName("p01")->Value = AOfferSectId;
  345. pADO->ExecSQL();
  346. return true;
  347. }
  348. catch(EDatabaseError &E)
  349. {
  350. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  351. DBERRORMSG("RSE제공구간정보삭제", String(E.ClassName()), E.Message, sQry);
  352. throw Exception(String(E.ClassName()) + E.Message);
  353. }
  354. catch(Exception &exception)
  355. {
  356. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  357. DBERRORMSG("RSE제공구간정보삭제", String(exception.ClassName()), exception.Message, sQry);
  358. throw Exception(String(exception.ClassName()) + exception.Message);
  359. }
  360. }
  361. __finally
  362. {
  363. if (pADO)
  364. {
  365. pADO->Close();
  366. delete pADO;
  367. }
  368. FLists.UnLock();
  369. }
  370. return true;
  371. }
  372. //---------------------------------------------------------------------------
  373. bool TItsDsrcOfferSectManager::SaveOfferSect(TItsDsrcOfferSect *AObj, TADOConnection *ADbConn/*=NULL*/)
  374. {
  375. String sQry;
  376. TADOQuery *pADO = NULL;
  377. //정보제공구간 링크구성정보 삭제
  378. sQry = "DELETE FROM TB_RSE_OFFR_SECT_INFR WHERE OFFR_SECT_ID = :p01 \r\n";
  379. try
  380. {
  381. FLists.Lock();
  382. try
  383. {
  384. pADO = new TADOQuery(NULL);
  385. pADO->Close();
  386. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  387. pADO->SQL->Clear();
  388. pADO->SQL->Text = sQry;
  389. pADO->Parameters->ParamByName("p01")->Value = AObj->OFFR_SECT_ID;
  390. pADO->ExecSQL();
  391. //RSE 제공 방향 정보
  392. sQry = "MERGE INTO TB_RSE_OFFR_DRCT_INFR L \r\n"
  393. "USING (SELECT :p01 AS ID, \r\n"
  394. " :p02 AS OBU_ENTR_DRCT_NMBR, \r\n"
  395. " :p03 AS PRE_ID, \r\n"
  396. " :p04 AS IXR_DRCT_NUM \r\n"
  397. " FROM DUAL) M \r\n"
  398. " ON (L.ID = M.ID \r\n"
  399. " AND L.OBU_ENTR_DRCT_NMBR = M.OBU_ENTR_DRCT_NMBR) \r\n"
  400. "WHEN MATCHED THEN \r\n"
  401. "UPDATE SET PRE_ID = M.PRE_ID, \r\n"
  402. " IXR_DRCT_NUM = M.IXR_DRCT_NUM \r\n"
  403. "WHEN NOT MATCHED THEN \r\n"
  404. "INSERT (ID, OBU_ENTR_DRCT_NMBR, PRE_ID, IXR_DRCT_NUM) \r\n"
  405. "VALUES (M.ID, M.OBU_ENTR_DRCT_NMBR, M.PRE_ID, M.IXR_DRCT_NUM) \r\n";
  406. pADO->SQL->Clear();
  407. pADO->SQL->Text = sQry;
  408. pADO->Parameters->ParamByName("p01")->Value = AObj->ID;
  409. pADO->Parameters->ParamByName("p02")->Value = AObj->OBU_ENTR_DRCT_NMBR;
  410. pADO->Parameters->ParamByName("p03")->Value = AObj->PRE_ID;
  411. pADO->Parameters->ParamByName("p04")->Value = AObj->IXR_DRCT_NUM;
  412. pADO->ExecSQL();
  413. //정보제공구간 마스터
  414. sQry = "MERGE INTO TB_RSE_OFFR_SECT_MNGM L \r\n"
  415. "USING (SELECT :p01 AS OFFR_SECT_ID, \r\n"
  416. " :p02 AS OFFR_DRCT_NM, \r\n"
  417. " :p03 AS CNGS_BASI_SPED, \r\n"
  418. " :p04 AS DELY_BASI_SPED, \r\n"
  419. " :p05 AS ID, \r\n"
  420. " :p06 AS OBU_ENTR_DRCT_NMBR \r\n"
  421. " FROM DUAL) M \r\n"
  422. " ON (L.OFFR_SECT_ID = M.OFFR_SECT_ID) \r\n"
  423. "WHEN MATCHED THEN \r\n"
  424. " UPDATE SET OFFR_DRCT_NM = M.OFFR_DRCT_NM, \r\n"
  425. " CNGS_BASI_SPED = M.CNGS_BASI_SPED, \r\n"
  426. " DELY_BASI_SPED = M.DELY_BASI_SPED, \r\n"
  427. " ID = M.ID, \r\n"
  428. " OBU_ENTR_DRCT_NMBR = M.OBU_ENTR_DRCT_NMBR \r\n"
  429. "WHEN NOT MATCHED THEN \r\n"
  430. "INSERT (OFFR_SECT_ID, OFFR_DRCT_NM, CNGS_BASI_SPED, \r\n"
  431. " DELY_BASI_SPED,ID, OBU_ENTR_DRCT_NMBR) \r\n"
  432. "VALUES (M.OFFR_SECT_ID, M.OFFR_DRCT_NM, M.CNGS_BASI_SPED, \r\n"
  433. " M.DELY_BASI_SPED, M.ID, M.OBU_ENTR_DRCT_NMBR) \r\n";
  434. pADO->SQL->Clear();
  435. pADO->SQL->Text = sQry;
  436. pADO->Parameters->ParamByName("p01")->Value = AObj->OFFR_SECT_ID;
  437. pADO->Parameters->ParamByName("p02")->Value = AObj->OFFR_DRCT_NM;
  438. pADO->Parameters->ParamByName("p03")->Value = AObj->CNGS_BASI_SPED;
  439. pADO->Parameters->ParamByName("p04")->Value = AObj->DELY_BASI_SPED;
  440. pADO->Parameters->ParamByName("p05")->Value = AObj->ID;
  441. pADO->Parameters->ParamByName("p06")->Value = AObj->OBU_ENTR_DRCT_NMBR;
  442. pADO->ExecSQL();
  443. //정보제공구간 링크구성정보 입력
  444. sQry = "INSERT INTO TB_RSE_OFFR_SECT_INFR (OFFR_SECT_ID, IFSC_ID, ORD) \r\n"
  445. " VALUES (:p01, :p02, :p03) \r\n";
  446. int nOrd = 1;
  447. pADO->SQL->Clear();
  448. pADO->SQL->Text = sQry;
  449. FOR_STL(TItsDsrcOfferSectInfr *, pObj, AObj->FSectLists)
  450. {
  451. pADO->Parameters->ParamByName("p01")->Value = AObj->OFFR_SECT_ID;
  452. pADO->Parameters->ParamByName("p02")->Value = pObj->IFSC_ID;
  453. pADO->Parameters->ParamByName("p03")->Value = nOrd;
  454. pADO->ExecSQL();
  455. nOrd++;
  456. }
  457. return true;
  458. }
  459. catch(EDatabaseError &E)
  460. {
  461. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  462. DBERRORMSG("RSE제공구간정보업데이트", String(E.ClassName()), E.Message, sQry);
  463. throw Exception(String(E.ClassName()) + E.Message);
  464. }
  465. catch(Exception &exception)
  466. {
  467. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  468. DBERRORMSG("RSE제공구간정보업데이트", String(exception.ClassName()), exception.Message, sQry);
  469. throw Exception(String(exception.ClassName()) + exception.Message);
  470. }
  471. }
  472. __finally
  473. {
  474. if (pADO)
  475. {
  476. pADO->Close();
  477. delete pADO;
  478. }
  479. FLists.UnLock();
  480. }
  481. return true;
  482. }
  483. //---------------------------------------------------------------------------