//--------------------------------------------------------------------------- #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "ITSDbF.h" #include "AppGlobalF.h" #include "ITSLangTransF.h" #pragma hdrstop #include "IFM0020MF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "cxButtons" #pragma link "cxCalc" #pragma link "cxCheckBox" #pragma link "cxClasses" #pragma link "cxContainer" #pragma link "cxControls" #pragma link "cxCustomData" #pragma link "cxData" #pragma link "cxDataStorage" #pragma link "cxEdit" #pragma link "cxFilter" #pragma link "cxGraphics" #pragma link "cxGrid" #pragma link "cxGridCustomTableView" #pragma link "cxGridCustomView" #pragma link "cxGridLevel" #pragma link "cxGridTableView" #pragma link "cxLabel" #pragma link "cxLookAndFeelPainters" #pragma link "cxLookAndFeels" #pragma link "cxStyles" #pragma link "cxTextEdit" #pragma link "dxSkinBlack" #pragma link "dxSkinBlue" #pragma link "dxSkinsCore" #pragma link "dxSkinscxPCPainter" #pragma resource "*.dfm" TIFM0020M *IFM0020M = NULL; extern LOGININFO *g_pLOGIN; //--------------------------------------------------------------------------- __fastcall TIFM0020M::TIFM0020M(TComponent* Owner) : TForm(Owner) { LangTrans->Translate(this, ITSDb_GetConnection()); ITSSkin_Load(this); CMM_LoadForm(g_sFormsDir, this); FTitle = Caption;//"½Ã¼³¹° ¾÷ü°ü¸®"; MyItsCompanyManager = new TItsCompanyManager(); } //--------------------------------------------------------------------------- /* * ´Ý±â¹öư À̳ª x¹öư Ŭ¸¯½Ã °øÅëÀ¸·Î ó¸®ÇÏ´Â ·ÎÁ÷À̵é¾î°£´Ù.. * Form°ú DataModule class¸¦ delete½ÃŲ´Ù. * arguments * * return * void */ void __fastcall TIFM0020M::CommClose() { try { CMM_SaveForm(g_sFormsDir, this); } catch(...) { } } //--------------------------------------------------------------------------- /* * FormÀ» º¸¿©ÁÙ¶§ È£ÃâµÇ´Â event ¸Þ¼­µåÀÌ´Ù. * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TIFM0020M::FormShow(TObject *Sender) { Refresh(); FormInit(); TmrShow->Enabled = true; } //--------------------------------------------------------------------------- /* * form ÃʱâÈ­ * * arguments * * return * void */ void __fastcall TIFM0020M::FormInit() { m_pGDC = TvList->DataController; TvList->OptionsView->NoDataToDisplayInfoText = FrmLang->lblNoInfo->Caption;//"<µî·ÏµÇ¾î ÀÖ´Â ½Ã¼³¹°¾÷ü Á¤º¸°¡ ¾ø½À´Ï´Ù>"; } //--------------------------------------------------------------------------- /* * FormÀÌ ShowµÇ°í ³­ ÈÄ ÃÖÃÊ 1ȸ ¼öÇàµÇ´Â ŸÀÌ¸Ó À̺¥Æ® * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TIFM0020M::TmrShowTimer(TObject *Sender) { TmrShow->Enabled = false; BtnSearchClick((TObject*)BtnSearch); } //--------------------------------------------------------------------------- /* * Search ¹öư Ŭ¸¯ À̺¥Æ® Çڵ鷯 * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TIFM0020M::BtnSearchClick(TObject *Sender) { Application->ProcessMessages(); TSqlCursor sqlCrs((TControl*)BtnSearch); RefreshData(); } //--------------------------------------------------------------------------- /* * Refresh Data Event Function * arguments * * return * void */ void __fastcall TIFM0020M::RefreshData() { FUpdate = false; MyItsCompanyManager->LoadFromDb(); SelListData(); } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::SelListData() { CMM_ClearGridTableView(TvList); try { TvList->BeginUpdate(); FOR_STL(TItsCompany*, pObj, MyItsCompanyManager->FLists) { pObj->EditMode = DB_INIT; //¹Ì¸® ÃʱâÈ­½ÃÄѾßÇÔ pObj->Completed = true; if (pObj->DEL_YN == "Y") continue; AddObjectItem(pObj, "-"); } } __finally { LblRecords->Caption = "("+FormatFloat("##,##0", m_pGDC->FilteredRecordCount) +"/"+FormatFloat("##,##0", m_pGDC->RecordCount) + ")"; TvList->EndUpdate(); TvList->DataController->GotoFirst(); TvList->DataController->FocusedRecordIndex = 0; //CxList->SetFocus(); } } //--------------------------------------------------------------------------- bool __fastcall TIFM0020M::AddObjectItem(TItsCompany *pObj, String AMode) { int nRow; try { nRow = m_pGDC->AppendRecord(); pObj->FGridIndex = nRow; m_pGDC->Values[nRow][Column00->Index] = AMode; m_pGDC->Values[nRow][Column01->Index] = pObj->CMPY_ID; //¾÷üID m_pGDC->Values[nRow][Column02->Index] = pObj->CMPY_NM; //¾÷ü ¸í m_pGDC->Values[nRow][Column03->Index] = pObj->BRNO; //»ç¾÷ÀÚ µî·Ï ¹øÈ£ m_pGDC->Values[nRow][Column04->Index] = pObj->ADDR; //ÁÖ¼Ò m_pGDC->Values[nRow][Column05->Index] = pObj->TEL; //ÀüÈ­¹øÈ£ m_pGDC->Values[nRow][Column06->Index] = pObj->FCSM_NMBR; //ÆÑ½º ¹øÈ£ m_pGDC->Values[nRow][Column07->Index] = pObj->RPRV_NM; //´ëÇ¥ÀÚ ¸í m_pGDC->Values[nRow][Column08->Index] = pObj->CHGR_NM; //´ã´çÀÚ ¸í m_pGDC->Values[nRow][Column09->Index] = pObj->CHGR_HP_NMBR; //´ã´çÀÚ ¿¬¶ôó m_pGDC->Values[nRow][Column10->Index] = pObj->CHGR_EMAL; //´ã´çÀÚ À̸ÞÀÏ m_pGDC->Values[nRow][Column11->Index] = pObj->ADTN_NM; //Ãß°¡ÀÚ ¸í m_pGDC->Values[nRow][Column12->Index] = pObj->ADTN_DT; //Ãß°¡ ÀϽà m_pGDC->Values[nRow][Column13->Index] = pObj->CHNG_NM; //º¯°æÀÚ ¸í m_pGDC->Values[nRow][Column14->Index] = pObj->CHNG_DT; //º¯°æ ÀϽà m_pGDC->Values[nRow][Column88->Index] = pObj->DEL_YN; //»èÁ¦ ¿©ºÎ m_pGDC->Values[nRow][Column99->Index] = (int)pObj; return true; } catch(...) { } return false; } //--------------------------------------------------------------------------- /* * Close ¹öư Ŭ¸¯ À̺¥Æ® Çڵ鷯 * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TIFM0020M::BtnCloseClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- /* * ÀúÀå ¹öư Ŭ¸¯ À̺¥Æ® Çڵ鷯 * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TIFM0020M::BtnExlSaveClick(TObject *Sender) { TcxGrid *pGrid = CxList; TcxGridTableView *pView = TvList; String sTitle= Caption;//"½Ã¼³¹°°ü¸®¾÷üÁ¤º¸"; CMM_ExportToExcelFile(sTitle, pGrid, pView, this); } //--------------------------------------------------------------------------- /* * µî·Ï ¹öư Ŭ¸¯ À̺¥Æ® Çڵ鷯 * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TIFM0020M::BtnInsertClick(TObject *Sender) { int nMsgType = MB_OK|MB_ICONERROR|MB_APPLMODAL; String sId = InputBox(lblInput->Caption,//"¾÷ü ID", lblInQry->Caption,//"½Å±Ô ¾÷ü ID¸¦ ÀÔ·ÂÇϼ¼¿ä.", lblInput->Caption);//"¾÷ü ID" ); sId = sId.Trim(); if (sId == lblInput->Caption //"¾÷ü ID" || sId == "") { return; } if (AnsiString(sId).Length() > 30) { Application->MessageBox(lblDigitErr->Caption.c_str(),//L"¾÷ü ID´Â 30Byte¸¦ ÃʰúÇÒ ¼ö ¾ø½À´Ï´Ù.", FTitle.c_str(), nMsgType); return; } TItsCompany *pDb = (TItsCompany *)MyItsCompanyManager->FLists.Find(sId); if (pDb) { String sErr = FrmLang->lbIdErr->Caption + "[" + sId + "]"; Application->MessageBox(sErr.c_str(),//("[" + sId + "]´Â »ç¿ëÇÒ ¼ö ¾ø´Â ¾÷ü ID ÀÔ´Ï´Ù.").c_str(), FTitle.c_str(), nMsgType); return; } try { TvList->BeginUpdate(); TItsCompany *pObj = new TItsCompany(); pObj->Clear(); pObj->CMPY_ID = sId; //¾÷üID pObj->ADTN_NM = g_pLOGIN->sUserId; //Ãß°¡ÀÚ ¸í pObj->ADTN_DT = Now().FormatString("yyyymmddhhnnss"); //Ãß°¡ ÀϽà pObj->CHNG_NM = g_pLOGIN->sUserId; //º¯°æÀÚ ¸í pObj->CHNG_DT = Now().FormatString("yyyymmddhhnnss"); //º¯°æ ÀϽà pObj->DEL_YN = "N"; //»èÁ¦ ¿©ºÎ MyItsCompanyManager->FLists.Push(pObj->CMPY_ID, pObj); pObj->Completed = false; AddObjectItem(pObj, FrmLang->lblNew->Caption);//"½Å±Ô"); pObj->EditMode = DB_NEW; } __finally { LblRecords->Caption = "("+FormatFloat("##,##0", m_pGDC->FilteredRecordCount) +"/"+FormatFloat("##,##0", m_pGDC->RecordCount) + ")"; TvList->EndUpdate(); TvList->DataController->GotoFirst(); TvList->DataController->FocusedRecordIndex = 0; #if 0 CxList->SetFocus(); TvList->Controller->ClearSelection(); TvList->Controller->FocusedRowIndex = m_pGDC->GetRowIndexByRecordIndex(nRow, true); #endif } } //--------------------------------------------------------------------------- /* * »èÁ¦ ¹öư Ŭ¸¯ À̺¥Æ® Çڵ鷯 * arguments * Sender : event handler °´Ã¼ * return * void */ void __fastcall TIFM0020M::BtnDeleteClick(TObject *Sender) { int nIdx = m_pGDC->FocusedRecordIndex; if (nIdx < 0) return; m_pGDC->Values[nIdx][Column00->Index] = FrmLang->lblDelete->Caption;//"»èÁ¦"; int nMemPtr = m_pGDC->Values[nIdx][Column99->Index]; TItsCompany *pObj = (TItsCompany*)nMemPtr; pObj->EditMode = DB_DELETE; } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::FormClose(TObject *Sender, TCloseAction &Action) { CommClose(); IFM0020M = NULL; Action = caFree; } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::BtnEditClick(TObject *Sender) { TListFocus tvFocus(TvList); if (BtnEdit->Caption == FrmLang->lblCancel->Caption)//"Ãë¼Ò") { CxList->SetFocus(); Application->ProcessMessages(); SaveData(); } FrmLang->ITSSkin_ButtonClick(BtnSearch, BtnEdit, BtnInsert, BtnDelete, BtnApply); ChangeEditMode(BtnEdit->Down); RefreshData(); } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::ChangeEditMode(bool AEdit) { bool bEditing = AEdit; try { TvList->BeginUpdate(); Column00->Visible = bEditing; Column02->Options->Editing = bEditing; Column03->Options->Editing = bEditing; Column04->Options->Editing = bEditing; Column05->Options->Editing = bEditing; Column06->Options->Editing = bEditing; Column07->Options->Editing = bEditing; Column08->Options->Editing = bEditing; Column09->Options->Editing = bEditing; Column10->Options->Editing = bEditing; //Column11->Options->Editing = bEditing; //Column12->Options->Editing = bEditing; //Column13->Options->Editing = bEditing; //Column14->Options->Editing = bEditing; } __finally { TvList->EndUpdate(); if (bEditing) { BtnEdit->Caption = FrmLang->lblCancel->Caption;//"Ãë¼Ò"; BtnEdit->Hint = FrmLang->lblCancel->Hint;//µ¥ÀÌÅÍ ÆíÁý Ãë¼Ò"; } else { BtnEdit->Caption = FrmLang->lblEdit->Caption;//"ÆíÁý"; BtnEdit->Hint = FrmLang->lblEdit->Hint;//µ¥ÀÌÅÍ ÆíÁý"; } } } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::TvListColumnPropertiesValidate(TObject *Sender, Variant &DisplayValue, TCaption &ErrorText, bool &Error) { if (TvList->Controller->FocusedRow->IsFilterRow) return; int nRow = m_pGDC->FocusedRecordIndex; if (nRow < 0) return; int nMemPtr = TvList->DataController->Values[nRow][Column99->Index]; TItsCompany *pObj = (TItsCompany*)nMemPtr; if (pObj->Completed == false) { //½Å±ÔÀ̰ųª »èÁ¦ÀÎ °æ¿ì ÆíÁý ³»¿ë¿¡ µû¸¥ º¯È­°¡ ÇÊ¿ä¾ø´Ù. return; } String sCMPY_NM = VarToStr(m_pGDC->Values[nRow][Column02->Index]); //¾÷ü ¸í String sBRNO = VarToStr(m_pGDC->Values[nRow][Column03->Index]); //»ç¾÷ÀÚ µî·Ï ¹øÈ£ String sADDR = VarToStr(m_pGDC->Values[nRow][Column04->Index]); //ÁÖ¼Ò String sTEL = VarToStr(m_pGDC->Values[nRow][Column05->Index]); //ÀüÈ­¹øÈ£ String sFCSM_NMBR = VarToStr(m_pGDC->Values[nRow][Column06->Index]); //ÆÑ½º ¹øÈ£ String sRPRV_NM = VarToStr(m_pGDC->Values[nRow][Column07->Index]); //´ëÇ¥ÀÚ ¸í String sCHGR_NM = VarToStr(m_pGDC->Values[nRow][Column08->Index]); //´ã´çÀÚ ¸í String sCHGR_HP_NMBR = VarToStr(m_pGDC->Values[nRow][Column09->Index]); //´ã´çÀÚ ¿¬¶ôó String sCHGR_EMAL = VarToStr(m_pGDC->Values[nRow][Column10->Index]); //´ã´çÀÚ À̸ÞÀÏ TcxGridColumn *pColumn = TvList->Controller->FocusedColumn; if (pColumn == Column02) sCMPY_NM = DisplayValue; else if (pColumn == Column03) sBRNO = DisplayValue; else if (pColumn == Column04) sADDR = DisplayValue; else if (pColumn == Column05) sTEL = DisplayValue; else if (pColumn == Column06) sFCSM_NMBR = DisplayValue; else if (pColumn == Column07) sRPRV_NM = DisplayValue; else if (pColumn == Column08) sCHGR_NM = DisplayValue; else if (pColumn == Column09) sCHGR_HP_NMBR = DisplayValue; else if (pColumn == Column10) sCHGR_EMAL = DisplayValue; if (sCMPY_NM != pObj->CMPY_NM || //¾÷ü ¸í sBRNO != pObj->BRNO || //»ç¾÷ÀÚ µî·Ï ¹øÈ£ sADDR != pObj->ADDR || //ÁÖ¼Ò sTEL != pObj->TEL || //ÀüÈ­¹øÈ£ sFCSM_NMBR != pObj->FCSM_NMBR || //ÆÑ½º ¹øÈ£ sRPRV_NM != pObj->RPRV_NM || //´ëÇ¥ÀÚ ¸í sCHGR_NM != pObj->CHGR_NM || //´ã´çÀÚ ¸í sCHGR_HP_NMBR != pObj->CHGR_HP_NMBR || //´ã´çÀÚ ¿¬¶ôó sCHGR_EMAL != pObj->CHGR_EMAL ) //´ã´çÀÚ À̸ÞÀÏ { m_pGDC->Values[nRow][Column00->Index] = FrmLang->lblModify->Caption;//"¼öÁ¤"; pObj->EditMode = DB_UPDATE; } else { m_pGDC->Values[nRow][Column00->Index] = "-"; pObj->EditMode = DB_INIT; } } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::BtnBestFitClick(TObject *Sender) { try { TvList->BeginUpdate(); TvList->ApplyBestFit(NULL, false, false); } __finally { TvList->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::ChkAutoWidthPropertiesChange(TObject *Sender) { try { TvList->BeginUpdate(); TvList->OptionsView->ColumnAutoWidth = ChkAutoWidth->Checked; BtnBestFit->Visible = !ChkAutoWidth->Checked; } __finally { TvList->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::BtnApplyClick(TObject *Sender) { FUpdate = true; BtnEdit->Down = false; BtnEdit->Click(); } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::TvListCustomDrawCell(TcxCustomGridTableView *Sender, TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo, bool &ADone) { if (AViewInfo) { String sType = AViewInfo->GridRecord->DisplayTexts[Column00->Index]; if (sType == FrmLang->lblModify->Caption)//"¼öÁ¤") { ACanvas->Brush->Color = clOlive; } else if (sType == FrmLang->lblDelete->Caption)//"»èÁ¦") { ACanvas->Brush->Color = clRed; } else if (sType == FrmLang->lblNew->Caption)//"½Å±Ô") { ACanvas->Brush->Color = clLime; if (AViewInfo->Focused) ACanvas->Font->Color = clBlack; } } } //--------------------------------------------------------------------------- bool __fastcall TIFM0020M::IsUpdate() { FOR_STL(TItsCompany*, pObj, MyItsCompanyManager->FLists) { if (pObj->Completed && pObj->EditMode != DB_INIT) return true; if (!pObj->Completed && pObj->EditMode == DB_NEW) return true; } return false; } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::SaveData() { if (!IsUpdate()) return; if (!FUpdate) { if (Application->MessageBox(FrmLang->lblEidtConfirm->Caption.c_str(),//L"º¯°æµÈ Á¤º¸°¡ ÀÖ½À´Ï´Ù.\r\nº¯°æµÈ Á¤º¸¸¦ ÀúÀå ÇϽðڽÀ´Ï±î?", FTitle.c_str(), MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL) != IDYES) return; } TADOQuery *pADOI = NULL; TADOQuery *pADOU = NULL; TADOQuery *pADOD = NULL; String sQryI; String sQryU; String sQryD; try { sQryI = "INSERT INTO TB_FCLT_CMPY ( \r\n" " CMPY_ID, CMPY_NM, BRNO, ADDR, TEL, FCSM_NMBR, RPRV_NM, \r\n" " CHGR_NM, CHGR_HP_NMBR, CHGR_EMAL, ADTN_NM, ADTN_DT, CHNG_NM, CHNG_DT, DEL_YN ) \r\n" " VALUES (:p01, :p02, :p03, :p04, :p05, :p06, :p07, \r\n" " :p08, :p09, :p10, :p11, :p12, :p13, :p14, :p15 ) \r\n"; sQryU = "UPDATE TB_FCLT_CMPY \r\n" " SET CMPY_NM = :p02, \r\n" " BRNO = :p03, \r\n" " ADDR = :p04, \r\n" " TEL = :p05, \r\n" " FCSM_NMBR = :p06, \r\n" " RPRV_NM = :p07, \r\n" " CHGR_NM = :p08, \r\n" " CHGR_HP_NMBR = :p09, \r\n" " CHGR_EMAL = :p10, \r\n" // " ADTN_NM = :p11, \r\n" // " ADTN_DT = :p112 \r\n" " CHNG_NM = :p13, \r\n" " CHNG_DT = :p14, \r\n" " DEL_YN = :p15 \r\n" " WHERE CMPY_ID = :p01 \r\n"; sQryD = "UPDATE TB_FCLT_CMPY \r\n" " SET DEL_YN = 'Y', \r\n" " CHNG_NM = :p13, \r\n" " CHNG_DT = :p14 \r\n" " WHERE CMPY_ID = :p01 \r\n"; int nRow; TvList->BeginUpdate(); try { pADOI = new TADOQuery(NULL); pADOI->Close(); pADOI->Connection = ITSDb_GetConnection(); pADOU = new TADOQuery(NULL); pADOU->Close(); pADOU->Connection = ITSDb_GetConnection(); pADOD = new TADOQuery(NULL); pADOD->Close(); pADOD->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADOI, sQryI); ITSDb_SQLText(pADOU, sQryU); ITSDb_SQLText(pADOD, sQryD); ITSDb_GetConnection()->BeginTrans(); FOR_STL(TItsCompany*, pObj, MyItsCompanyManager->FLists) { if (pObj->FGridIndex < 0) continue; if (pObj->Completed && pObj->EditMode == DB_INIT) continue; if (!pObj->Completed && pObj->EditMode != DB_NEW) continue; nRow = pObj->FGridIndex; //pObj->CMPY_ID = VarToStr(m_pGDC->Values[nRow][Column01->Index]); //¾÷üID String sCMPY_NM = VarToStr(m_pGDC->Values[nRow][Column02->Index]); //¾÷ü ¸í String sBRNO = VarToStr(m_pGDC->Values[nRow][Column03->Index]); //»ç¾÷ÀÚ µî·Ï ¹øÈ£ String sADDR = VarToStr(m_pGDC->Values[nRow][Column04->Index]); //ÁÖ¼Ò String sTEL = VarToStr(m_pGDC->Values[nRow][Column05->Index]); //ÀüÈ­¹øÈ£ String sFCSM_NMBR = VarToStr(m_pGDC->Values[nRow][Column06->Index]); //ÆÑ½º ¹øÈ£ String sRPRV_NM = VarToStr(m_pGDC->Values[nRow][Column07->Index]); //´ëÇ¥ÀÚ ¸í String sCHGR_NM = VarToStr(m_pGDC->Values[nRow][Column08->Index]); //´ã´çÀÚ ¸í String sCHGR_HP_NMBR = VarToStr(m_pGDC->Values[nRow][Column09->Index]); //´ã´çÀÚ ¿¬¶ôó String sCHGR_EMAL = VarToStr(m_pGDC->Values[nRow][Column10->Index]); //´ã´çÀÚ À̸ÞÀÏ pObj->CMPY_NM = sCMPY_NM; pObj->BRNO = sBRNO; pObj->ADDR = sADDR; pObj->TEL = sTEL; pObj->FCSM_NMBR = sFCSM_NMBR; pObj->RPRV_NM = sRPRV_NM; pObj->CHGR_NM = sCHGR_NM; pObj->CHGR_HP_NMBR = sCHGR_HP_NMBR; pObj->CHGR_EMAL = sCHGR_EMAL; pObj->CHNG_NM = g_pLOGIN->sUserId; //º¯°æÀÚ ¸í pObj->CHNG_DT = Now().FormatString("yyyymmddhhnnss"); //º¯°æ ÀϽà //pObj->DEL_YN = "N"; //»èÁ¦ ¿©ºÎ if (pObj->Completed) { if (pObj->EditMode == DB_DELETE) { //delete ITSDb_SQLBind(pADOD, "p01", pObj->CMPY_ID); ITSDb_SQLBind(pADOD, "p13", pObj->CHNG_NM); ITSDb_SQLBind(pADOD, "p14", pObj->CHNG_DT); ITSDb_SQLExec(pADOD); } else if (pObj->EditMode == DB_UPDATE) { //update ITSDb_SQLBind(pADOU, "p01", pObj->CMPY_ID); ITSDb_SQLBind(pADOU, "p02", pObj->CMPY_NM); ITSDb_SQLBind(pADOU, "p03", pObj->BRNO); ITSDb_SQLBind(pADOU, "p04", pObj->ADDR); ITSDb_SQLBind(pADOU, "p05", pObj->TEL); ITSDb_SQLBind(pADOU, "p06", pObj->FCSM_NMBR); ITSDb_SQLBind(pADOU, "p07", pObj->RPRV_NM); ITSDb_SQLBind(pADOU, "p08", pObj->CHGR_NM); ITSDb_SQLBind(pADOU, "p09", pObj->CHGR_HP_NMBR); ITSDb_SQLBind(pADOU, "p10", pObj->CHGR_EMAL); ITSDb_SQLBind(pADOU, "p13", pObj->CHNG_NM); ITSDb_SQLBind(pADOU, "p14", pObj->CHNG_DT); ITSDb_SQLBind(pADOU, "p15", pObj->DEL_YN); ITSDb_SQLExec(pADOU); } } else { if (pObj->EditMode == DB_NEW) { //insert pObj->ADTN_NM = g_pLOGIN->sUserId; //Ãß°¡ÀÚ ¸í pObj->ADTN_DT = Now().FormatString("yyyymmddhhnnss"); //Ãß°¡ ÀϽà ITSDb_SQLBind(pADOI, "p01", pObj->CMPY_ID); ITSDb_SQLBind(pADOI, "p02", pObj->CMPY_NM); ITSDb_SQLBind(pADOI, "p03", pObj->BRNO); ITSDb_SQLBind(pADOI, "p04", pObj->ADDR); ITSDb_SQLBind(pADOI, "p05", pObj->TEL); ITSDb_SQLBind(pADOI, "p06", pObj->FCSM_NMBR); ITSDb_SQLBind(pADOI, "p07", pObj->RPRV_NM); ITSDb_SQLBind(pADOI, "p08", pObj->CHGR_NM); ITSDb_SQLBind(pADOI, "p09", pObj->CHGR_HP_NMBR); ITSDb_SQLBind(pADOI, "p10", pObj->CHGR_EMAL); ITSDb_SQLBind(pADOI, "p11", pObj->ADTN_NM); ITSDb_SQLBind(pADOI, "p12", pObj->ADTN_DT); ITSDb_SQLBind(pADOI, "p13", pObj->CHNG_NM); ITSDb_SQLBind(pADOI, "p14", pObj->CHNG_DT); ITSDb_SQLBind(pADOI, "p15", pObj->DEL_YN); ITSDb_SQLExec(pADOI); } } pObj->Completed = true; } ITSDb_GetConnection()->CommitTrans(); Application->MessageBox(FrmLang->lblDbSave->Caption.c_str(),//L"½Ã¼³¹° ¾÷üÁ¤º¸¸¦ ÀúÀå ÇÏ¿´½À´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONINFORMATION|MB_APPLMODAL); } catch(EDatabaseError &E) { ITSDb_GetConnection()->RollbackTrans(); ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); ShowMessage(String(E.ClassName()) + E.Message); } catch(Exception &exception) { ITSDb_GetConnection()->RollbackTrans(); ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); ShowMessage(String(exception.ClassName()) + exception.Message); } catch(...) { ITSDb_GetConnection()->RollbackTrans(); ::PostMessage(Application->MainForm->Handle, (UINT)(WM_USER+0xF4), (WPARAM)0xB2, (LPARAM)0xB2); ShowMessage(FrmLang->lblDbErr->Caption);//"µ¥ÀÌÅÍ ÀÛ¾÷ Áß¿¡ ¾Ë¼ö¾ø´Â DB ¿À·ù°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù."); } } __finally { if (pADOI) { pADOI->Close(); delete pADOI; } if (pADOU) { pADOU->Close(); delete pADOU; } if (pADOD) { pADOD->Close(); delete pADOD; } TvList->EndUpdate(); } } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::FormCloseQuery(TObject *Sender, bool &CanClose) { SaveData(); delete MyItsCompanyManager; } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::TvListKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if (Key == VK_DELETE) { if (BtnDelete->Enabled) BtnDeleteClick(Sender); } } //--------------------------------------------------------------------------- void __fastcall TIFM0020M::TvListDataControllerFilterChanged(TObject *Sender) { CMM_SetFilterLike(TvList); LblRecords->Caption = "("+FormatFloat("##,##0", m_pGDC->FilteredRecordCount) +"/"+FormatFloat("##,##0", m_pGDC->RecordCount) + ")"; } //---------------------------------------------------------------------------