CDSDsrcOfferSectF.cpp 20 KB

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