CDSAtrdF.cpp 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSAtrdF.h"
  4. #include "ITSDbF.h"
  5. #include "ITS_OPLibF.h"
  6. //---------------------------------------------------------------------------
  7. #pragma package(smart_init)
  8. TItsAtrdRoad::TItsAtrdRoad()
  9. {
  10. FCompleted = false;
  11. FEditMode = DB_INIT;
  12. FGridIndex = -1;
  13. MEM_DEL = "N";
  14. //Clear();
  15. }
  16. //---------------------------------------------------------------------------
  17. void TItsAtrdRoad::Clear()
  18. {
  19. ATRD_ID = "";
  20. ROAD_ID = "";
  21. ORD = 0;
  22. MEM_DEL = "";
  23. }
  24. //---------------------------------------------------------------------------
  25. TItsAtrdRoad::~TItsAtrdRoad()
  26. {
  27. }
  28. //---------------------------------------------------------------------------
  29. TItsAtrd::TItsAtrd()
  30. {
  31. Completed = false;
  32. FEditMode = DB_INIT;
  33. FGridIndex = -1;
  34. MEM_DEL = "N";
  35. LENGTH = 0;
  36. //Clear();
  37. }
  38. //---------------------------------------------------------------------------
  39. void TItsAtrd::Clear()
  40. {
  41. ATRD_ID = "";
  42. ATRD_NM = "";
  43. DRCT_CD = "";
  44. AREA_CD = "";
  45. DEL_YN = "";
  46. MEM_DEL = "";
  47. LENGTH = 0;
  48. }
  49. //---------------------------------------------------------------------------
  50. TItsAtrd::~TItsAtrd()
  51. {
  52. }
  53. //---------------------------------------------------------------------------
  54. //---------------------------------------------------------------------------
  55. TItsAtrdManager *ItsAtrdManager = NULL;
  56. //---------------------------------------------------------------------------
  57. /*
  58. * Atrd Manager
  59. */
  60. TItsAtrdManager::TItsAtrdManager()
  61. {
  62. }
  63. //---------------------------------------------------------------------------
  64. TItsAtrdManager::~TItsAtrdManager()
  65. {
  66. FLists.RemoveAll();
  67. FNameLists.RemoveAll();
  68. FCDSNameLists.RemoveAll();
  69. }
  70. //---------------------------------------------------------------------------
  71. bool TItsAtrdManager::LoadFromDbAtrdName(TADOConnection *ADbConn/*=NULL*/)
  72. {
  73. String sQry;
  74. TADOQuery *pADO = NULL;
  75. sQry = "SELECT DISTINCT TRIM(ATRD_NM) AS ATRD_NM \r\n"
  76. " FROM TB_ATRD \r\n";
  77. try
  78. {
  79. FCDSNameSelCnt = 0;
  80. FCDSNameLists.Lock();
  81. FCDSNameLists.RemoveAll();
  82. try
  83. {
  84. pADO = new TADOQuery(NULL);
  85. pADO->Close();
  86. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  87. pADO->SQL->Clear();
  88. pADO->SQL->Text = sQry;
  89. pADO->Prepared = true;
  90. pADO->Open();
  91. for( ; !pADO->Eof; pADO->Next())
  92. {
  93. TCDSAtrdName *pObj = new TCDSAtrdName();
  94. pObj->ATRD_NM = pADO->FieldByName("ATRD_NM")->AsString;
  95. pObj->IsSelected = true;
  96. FCDSNameSelCnt++;
  97. FCDSNameLists.Push(pObj->ATRD_NM, pObj);
  98. }
  99. }
  100. catch(EDatabaseError &E)
  101. {
  102. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  103. DBERRORMSG("TItsAtrdManager::LoadFromDbAtrdName", String(E.ClassName()), E.Message, sQry);
  104. throw Exception(String(E.ClassName()) + E.Message);
  105. }
  106. catch(Exception &exception)
  107. {
  108. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  109. DBERRORMSG("TItsAtrdManager::LoadFromDbAtrdName", String(exception.ClassName()), exception.Message, sQry);
  110. throw Exception(String(exception.ClassName()) + exception.Message);
  111. }
  112. }
  113. __finally
  114. {
  115. if (pADO)
  116. {
  117. pADO->Close();
  118. delete pADO;
  119. }
  120. FCDSNameLists.UnLock();
  121. }
  122. return true;
  123. }
  124. //---------------------------------------------------------------------------
  125. bool TItsAtrdManager::LoadFromDb(TADOConnection *ADbConn/*=NULL*/)
  126. {
  127. LoadFromAtrdDb(ADbConn);
  128. LoadFromAtrdRoadDb(ADbConn);
  129. return true;
  130. }
  131. //---------------------------------------------------------------------------
  132. bool TItsAtrdManager::LoadFromAtrdDb(TADOConnection *ADbConn/*=NULL*/)
  133. {
  134. String sQry;
  135. TADOQuery *pADO = NULL;
  136. sQry = "SELECT ATRD_ID, \r\n"
  137. " TRIM(ATRD_NM) AS ATRD_NM, \r\n"
  138. " DRCT_CD, \r\n"
  139. " TRIM(DRCT_NM) AS DRCT_NM, \r\n"
  140. " AREA_CD, \r\n"
  141. " DEL_YN \r\n"
  142. " FROM TB_ATRD \r\n";
  143. //" WHERE DEL_YN = 'N' \r\n";
  144. //" ORDER BY ATRD_ID \r\n";
  145. try
  146. {
  147. FLists.Lock();
  148. FLists.RemoveAll();
  149. FNameLists.Lock();
  150. FNameLists.RemoveAll();
  151. try
  152. {
  153. pADO = new TADOQuery(NULL);
  154. pADO->Close();
  155. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  156. pADO->SQL->Clear();
  157. pADO->SQL->Text = sQry;
  158. pADO->Prepared = true;
  159. pADO->Open();
  160. for( ; !pADO->Eof; pADO->Next())
  161. {
  162. TItsAtrd *pObj = new TItsAtrd();
  163. pObj->ATRD_ID = pADO->FieldByName("ATRD_ID")->AsString;
  164. pObj->ATRD_NM = pADO->FieldByName("ATRD_NM")->AsString;
  165. pObj->DRCT_CD = pADO->FieldByName("DRCT_CD")->AsString;
  166. pObj->DRCT_NM = pADO->FieldByName("DRCT_NM")->AsString;
  167. pObj->AREA_CD = pADO->FieldByName("AREA_CD")->AsString;
  168. pObj->DEL_YN = pADO->FieldByName("DEL_YN")->AsString;
  169. pObj->LENGTH = 0;
  170. FLists.Push(pObj->ATRD_ID, pObj);
  171. pObj->Completed = true;
  172. pObj->MEM_DEL = "N";
  173. //////////////////////////////////////////////
  174. String AtrdName = pObj->ATRD_NM;
  175. TItsAtrdName *pAtrd = FNameLists.Find(AtrdName);
  176. if (pAtrd)
  177. {
  178. if (pObj->DRCT_CD.Trim() == "0")
  179. {
  180. pAtrd->UpAtrdNm = pObj->DRCT_NM;
  181. pAtrd->UpAtrdId = pObj->ATRD_ID;
  182. pAtrd->IsUpAtrd = true;
  183. }
  184. else
  185. {
  186. pAtrd->DnAtrdNm = pObj->DRCT_NM;
  187. pAtrd->DnAtrdId = pObj->ATRD_ID;
  188. pAtrd->IsDnAtrd = true;
  189. }
  190. }
  191. else
  192. {
  193. pAtrd = new TItsAtrdName();
  194. pAtrd->Name = AtrdName;
  195. pAtrd->RowNo = FNameLists.Size();
  196. if (pObj->DRCT_CD.Trim() == "0")
  197. {
  198. pAtrd->UpAtrdNm = pObj->DRCT_NM;
  199. pAtrd->UpAtrdId = pObj->ATRD_ID;
  200. pAtrd->IsUpAtrd = true;
  201. }
  202. else
  203. {
  204. pAtrd->DnAtrdNm = pObj->DRCT_NM;
  205. pAtrd->DnAtrdId = pObj->ATRD_ID;
  206. pAtrd->IsDnAtrd = true;
  207. }
  208. FNameLists.Push(AtrdName, pAtrd);
  209. }
  210. //////////////////////////////////////////////
  211. }
  212. }
  213. catch(EDatabaseError &E)
  214. {
  215. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  216. DBERRORMSG("TItsAtrdManager::LoadFromAtrdDb", String(E.ClassName()), E.Message, sQry);
  217. throw Exception(String(E.ClassName()) + E.Message);
  218. }
  219. catch(Exception &exception)
  220. {
  221. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  222. DBERRORMSG("TItsAtrdManager::LoadFromAtrdDb", String(exception.ClassName()), exception.Message, sQry);
  223. throw Exception(String(exception.ClassName()) + exception.Message);
  224. }
  225. }
  226. __finally
  227. {
  228. if (pADO)
  229. {
  230. pADO->Close();
  231. delete pADO;
  232. }
  233. FLists.UnLock();
  234. FNameLists.UnLock();
  235. }
  236. return true;
  237. }
  238. //---------------------------------------------------------------------------
  239. bool TItsAtrdManager::LoadFromAtrdRoadDb(TADOConnection *ADbConn/*=NULL*/)
  240. {
  241. String sQry;
  242. TADOQuery *pADO = NULL;
  243. #if 1
  244. // POHANG
  245. sQry = "SELECT ATRD_ID, \r\n"
  246. " ROAD_ID, \r\n"
  247. " ORD \r\n"
  248. " FROM TB_ATRD_ROAD_RLTN \r\n";
  249. " ORDER BY ATRD_ID, ORD \r\n";
  250. #else
  251. sQry = "SELECT ATRD_ID, \r\n"
  252. " ROAD_ID, \r\n"
  253. " ORD \r\n"
  254. " FROM TB_ATRD_RLTN_ROAD \r\n";
  255. " ORDER BY ATRD_ID, ORD \r\n";
  256. #endif
  257. try
  258. {
  259. TItsAtrd *pAtrd;
  260. FLists.Lock();
  261. try
  262. {
  263. pADO = new TADOQuery(NULL);
  264. pADO->Close();
  265. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  266. pADO->SQL->Clear();
  267. pADO->SQL->Text = sQry;
  268. pADO->Prepared = true;
  269. pADO->Open();
  270. for( ; !pADO->Eof; pADO->Next())
  271. {
  272. String ATRD_ID = pADO->FieldByName("ATRD_ID")->AsString;
  273. pAtrd = FLists.Find(ATRD_ID);
  274. if (!pAtrd) continue;
  275. TItsAtrdRoad *pObj = new TItsAtrdRoad();
  276. pObj->ATRD_ID = ATRD_ID;
  277. pObj->ROAD_ID = pADO->FieldByName("ROAD_ID")->AsString;
  278. pObj->ORD = pADO->FieldByName("ORD")->AsInteger;
  279. pAtrd->FRoads.Push(pObj->ORD, pObj);
  280. pObj->Completed = true;
  281. pObj->MEM_DEL = "N";
  282. }
  283. }
  284. catch(EDatabaseError &E)
  285. {
  286. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  287. DBERRORMSG("TItsAtrdManager::LoadFromAtrdRoadDb", String(E.ClassName()), E.Message, sQry);
  288. throw Exception(String(E.ClassName()) + E.Message);
  289. }
  290. catch(Exception &exception)
  291. {
  292. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  293. DBERRORMSG("TItsAtrdManager::LoadFromAtrdRoadDb", String(exception.ClassName()), exception.Message, sQry);
  294. throw Exception(String(exception.ClassName()) + exception.Message);
  295. }
  296. }
  297. __finally
  298. {
  299. if (pADO)
  300. {
  301. pADO->Close();
  302. delete pADO;
  303. }
  304. FLists.UnLock();
  305. }
  306. return true;
  307. }
  308. //---------------------------------------------------------------------------
  309. bool TItsAtrdManager::LoadAtrdLength(TADOConnection *ADbConn/*=NULL*/)
  310. {
  311. String sQry;
  312. TADOQuery *pADO = NULL;
  313. #if 1
  314. // POHANG
  315. sQry = "SELECT A.ATRD_ID, SUM(B.SECT_LNGT) AS ATRD_LNGT \r\n"
  316. " FROM TB_ATRD_ROAD_RLTN A, TB_ROAD B \r\n"
  317. " WHERE A.ROAD_ID = B.ROAD_ID \r\n"
  318. " GROUP BY A.ATRD_ID \r\n";
  319. #else
  320. sQry = "SELECT A.ATRD_ID, SUM(B.SECT_LNGT) AS ATRD_LNGT \r\n"
  321. " FROM TB_ATRD_RLTN_ROAD A, TB_ROAD B \r\n"
  322. " WHERE A.ROAD_ID = B.ROAD_ID \r\n"
  323. " GROUP BY A.ATRD_ID \r\n";
  324. #endif
  325. try
  326. {
  327. TItsAtrd *pAtrd;
  328. FLists.Lock();
  329. try
  330. {
  331. pADO = new TADOQuery(NULL);
  332. pADO->Close();
  333. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  334. pADO->SQL->Clear();
  335. pADO->SQL->Text = sQry;
  336. pADO->Prepared = true;
  337. pADO->Open();
  338. for( ; !pADO->Eof; pADO->Next())
  339. {
  340. String ATRD_ID = pADO->FieldByName("ATRD_ID")->AsString;
  341. pAtrd = FLists.Find(ATRD_ID);
  342. if (!pAtrd) continue;
  343. pAtrd->LENGTH = pADO->FieldByName("ATRD_LNGT")->AsInteger;
  344. }
  345. }
  346. catch(EDatabaseError &E)
  347. {
  348. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  349. DBERRORMSG("TItsAtrdManager::LoadAtrdLength", String(E.ClassName()), E.Message, sQry);
  350. throw Exception(String(E.ClassName()) + E.Message);
  351. }
  352. catch(Exception &exception)
  353. {
  354. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  355. DBERRORMSG("TItsAtrdManager::LoadAtrdLength", String(exception.ClassName()), exception.Message, sQry);
  356. throw Exception(String(exception.ClassName()) + exception.Message);
  357. }
  358. }
  359. __finally
  360. {
  361. if (pADO)
  362. {
  363. pADO->Close();
  364. delete pADO;
  365. }
  366. FLists.UnLock();
  367. }
  368. return true;
  369. }
  370. //---------------------------------------------------------------------------
  371. bool TItsAtrdManager::DeleteAtrdRoad(TItsAtrd *AObj, TADOConnection *ADbConn/*=NULL*/)
  372. {
  373. String sQry;
  374. TADOQuery *pADO = NULL;
  375. #if 1
  376. // POHANG
  377. sQry = "DELETE TB_ATRD_ROAD_RLTN \r\n"
  378. " WHERE ATRD_ID = :p01 \r\n";
  379. #else
  380. sQry = "DELETE TB_ATRD_RLTN_ROAD \r\n"
  381. " WHERE ATRD_ID = :p01 \r\n";
  382. #endif
  383. try
  384. {
  385. try
  386. {
  387. pADO = new TADOQuery(NULL);
  388. pADO->Close();
  389. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  390. pADO->SQL->Clear();
  391. pADO->SQL->Text = sQry;
  392. pADO->Parameters->ParamByName("p01")->Value = AObj->ATRD_ID;
  393. pADO->ExecSQL();
  394. return true;
  395. }
  396. catch(EDatabaseError &E)
  397. {
  398. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  399. DBERRORMSG("TItsAtrdManager::DeleteAtrdRoad", String(E.ClassName()), E.Message, sQry);
  400. throw Exception(String(E.ClassName()) + E.Message);
  401. }
  402. catch(Exception &exception)
  403. {
  404. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  405. DBERRORMSG("TItsAtrdManager::DeleteAtrdRoad", String(exception.ClassName()), exception.Message, sQry);
  406. throw Exception(String(exception.ClassName()) + exception.Message);
  407. }
  408. }
  409. __finally
  410. {
  411. if (pADO)
  412. {
  413. pADO->Close();
  414. delete pADO;
  415. }
  416. }
  417. return true;
  418. }
  419. //---------------------------------------------------------------------------
  420. bool TItsAtrdManager::DeleteAtrd(TItsAtrd *AObj, TADOConnection *ADbConn/*=NULL*/)
  421. {
  422. String sQry;
  423. TADOQuery *pADO = NULL;
  424. sQry = "UPDATE TB_ATRD \r\n"
  425. " SET DEL_YN = 'Y' \r\n"
  426. " WHERE ATRD_ID = :p01 \r\n";
  427. try
  428. {
  429. FLists.Lock();
  430. try
  431. {
  432. pADO = new TADOQuery(NULL);
  433. pADO->Close();
  434. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  435. pADO->SQL->Clear();
  436. pADO->SQL->Text = sQry;
  437. pADO->Parameters->ParamByName("p01")->Value = AObj->ATRD_ID;
  438. pADO->ExecSQL();
  439. DeleteAtrdRoad(AObj, ADbConn);
  440. return true;
  441. }
  442. catch(EDatabaseError &E)
  443. {
  444. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  445. DBERRORMSG("TItsAtrdManager::DeleteAtrd", String(E.ClassName()), E.Message, sQry);
  446. throw Exception(String(E.ClassName()) + E.Message);
  447. }
  448. catch(Exception &exception)
  449. {
  450. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  451. DBERRORMSG("TItsAtrdManager::DeleteAtrd", String(exception.ClassName()), exception.Message, sQry);
  452. throw Exception(String(exception.ClassName()) + exception.Message);
  453. }
  454. }
  455. __finally
  456. {
  457. if (pADO)
  458. {
  459. pADO->Close();
  460. delete pADO;
  461. }
  462. FLists.UnLock();
  463. }
  464. return true;
  465. }
  466. //---------------------------------------------------------------------------
  467. bool TItsAtrdManager::InsertAtrdRoad(TItsAtrd *AObj, TADOConnection *ADbConn/*=NULL*/)
  468. {
  469. String sQry;
  470. TADOQuery *pADO = NULL;
  471. //¸µÅ©±¸¼ºÁ¤º¸ ÀÔ·Â
  472. #if 1
  473. // POHANG
  474. sQry = "INSERT INTO TB_ATRD_ROAD_RLTN (ATRD_ID, ROAD_ID, ORD ) \r\n"
  475. " VALUES (:p01, :p02, :p03) \r\n";
  476. #else
  477. sQry = "INSERT INTO TB_ATRD_RLTN_ROAD (ATRD_ID, ROAD_ID, ORD ) \r\n"
  478. " VALUES (:p01, :p02, :p03) \r\n";
  479. #endif
  480. try
  481. {
  482. try
  483. {
  484. pADO = new TADOQuery(NULL);
  485. pADO->Close();
  486. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  487. pADO->SQL->Clear();
  488. pADO->SQL->Text = sQry;
  489. FOR_STL(TItsAtrdRoad *, pObj, AObj->FRoads)
  490. {
  491. pADO->Parameters->ParamByName("p01")->Value = AObj->ATRD_ID;
  492. pADO->Parameters->ParamByName("p02")->Value = pObj->ROAD_ID;
  493. pADO->Parameters->ParamByName("p03")->Value = pObj->ORD;
  494. pADO->ExecSQL();
  495. }
  496. return true;
  497. }
  498. catch(EDatabaseError &E)
  499. {
  500. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  501. DBERRORMSG("TItsAtrdManager::InsertAtrdRoad", String(E.ClassName()), E.Message, sQry);
  502. throw Exception(String(E.ClassName()) + E.Message);
  503. }
  504. catch(Exception &exception)
  505. {
  506. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  507. DBERRORMSG("TItsAtrdManager::InsertAtrdRoad", String(exception.ClassName()), exception.Message, sQry);
  508. throw Exception(String(exception.ClassName()) + exception.Message);
  509. }
  510. }
  511. __finally
  512. {
  513. if (pADO)
  514. {
  515. pADO->Close();
  516. delete pADO;
  517. }
  518. }
  519. return true;
  520. }
  521. //---------------------------------------------------------------------------
  522. bool TItsAtrdManager::UpdateAtrd(TItsAtrd *AObj, TADOConnection *ADbConn/*=NULL*/)
  523. {
  524. String sQry;
  525. TADOQuery *pADO = NULL;
  526. sQry = "UPDATE TB_ATRD \r\n"
  527. " SET ATRD_NM = :p02, \r\n"
  528. " DRCT_CD = :p03, \r\n"
  529. " AREA_CD = :p04, \r\n"
  530. " DEL_YN = :p05, \r\n"
  531. " DRCT_NM = :p06 \r\n"
  532. " WHERE ATRD_ID = :p01 \r\n";
  533. try
  534. {
  535. FLists.Lock();
  536. try
  537. {
  538. pADO = new TADOQuery(NULL);
  539. pADO->Close();
  540. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  541. pADO->SQL->Clear();
  542. pADO->SQL->Text = sQry;
  543. pADO->Parameters->ParamByName("p01")->Value = AObj->ATRD_ID;
  544. pADO->Parameters->ParamByName("p02")->Value = AObj->ATRD_NM;
  545. pADO->Parameters->ParamByName("p03")->Value = AObj->DRCT_CD;
  546. pADO->Parameters->ParamByName("p04")->Value = AObj->AREA_CD;
  547. pADO->Parameters->ParamByName("p05")->Value = AObj->DEL_YN;
  548. pADO->Parameters->ParamByName("p06")->Value = AObj->DRCT_NM;
  549. pADO->ExecSQL();
  550. DeleteAtrdRoad(AObj, ADbConn);
  551. InsertAtrdRoad(AObj, ADbConn);
  552. return true;
  553. }
  554. catch(EDatabaseError &E)
  555. {
  556. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  557. DBERRORMSG("TItsAtrdManager::UpdateAtrd", String(E.ClassName()), E.Message, sQry);
  558. throw Exception(String(E.ClassName()) + E.Message);
  559. }
  560. catch(Exception &exception)
  561. {
  562. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  563. DBERRORMSG("TItsAtrdManager::UpdateAtrd", String(exception.ClassName()), exception.Message, sQry);
  564. throw Exception(String(exception.ClassName()) + exception.Message);
  565. }
  566. }
  567. __finally
  568. {
  569. if (pADO)
  570. {
  571. pADO->Close();
  572. delete pADO;
  573. }
  574. FLists.UnLock();
  575. }
  576. return true;
  577. }
  578. //---------------------------------------------------------------------------
  579. bool TItsAtrdManager::InsertAtrd(TItsAtrd *AObj, TADOConnection *ADbConn/*=NULL*/)
  580. {
  581. String sQry;
  582. TADOQuery *pADO = NULL;
  583. sQry = "INSERT INTO TB_ATRD(ATRD_ID, ATRD_NM, DRCT_CD, AREA_CD, DEL_YN, DRCT_NM) \r\n"
  584. " VALUES(:p01, :p02, :p03, :p04, :p05, :p06) \r\n";
  585. try
  586. {
  587. FLists.Lock();
  588. try
  589. {
  590. pADO = new TADOQuery(NULL);
  591. pADO->Close();
  592. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  593. pADO->SQL->Clear();
  594. pADO->SQL->Text = sQry;
  595. pADO->Parameters->ParamByName("p01")->Value = AObj->ATRD_ID;
  596. pADO->Parameters->ParamByName("p02")->Value = AObj->ATRD_NM;
  597. pADO->Parameters->ParamByName("p03")->Value = AObj->DRCT_CD;
  598. pADO->Parameters->ParamByName("p04")->Value = AObj->AREA_CD;
  599. pADO->Parameters->ParamByName("p05")->Value = AObj->DEL_YN;
  600. pADO->Parameters->ParamByName("p06")->Value = AObj->DRCT_NM;
  601. pADO->ExecSQL();
  602. DeleteAtrdRoad(AObj, ADbConn);
  603. InsertAtrdRoad(AObj, ADbConn);
  604. return true;
  605. }
  606. catch(EDatabaseError &E)
  607. {
  608. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  609. DBERRORMSG("TItsAtrdManager::InsertAtrd", String(E.ClassName()), E.Message, sQry);
  610. throw Exception(String(E.ClassName()) + E.Message);
  611. }
  612. catch(Exception &exception)
  613. {
  614. ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2);
  615. DBERRORMSG("TItsAtrdManager::InsertAtrd", String(exception.ClassName()), exception.Message, sQry);
  616. throw Exception(String(exception.ClassName()) + exception.Message);
  617. }
  618. }
  619. __finally
  620. {
  621. if (pADO)
  622. {
  623. pADO->Close();
  624. delete pADO;
  625. }
  626. FLists.UnLock();
  627. }
  628. return true;
  629. }
  630. //---------------------------------------------------------------------------