CDSDsrcOfferSectF.cpp 20 KB

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