±ÍÇÏ´Â ¼Õ´Ô À̽ʴϴÙ
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ
  
  µ¨¸¶´ç °ø½Ä ÀºÇà°èÁÂ
  ÇϳªÀºÇà 227-910235-83607
  ¿¹±ÝÁÖ ÀÌ»ó±¹(¿î¿µÁø)
ÇÁ·ÎÁ§Æ® °Ô½ÃÆÇ
ÅõÇ¥°Ô½ÃÆÇ
µ¨¸¶´ç¼Ò°³
±âÃʺÎÅÍ È°¿ë±îÁö! µ¨ÆÄÀÌ ±³À° - µ¥ºê±â¾î
Áú¹®°ú ´äº¯ Áú¹®°ú ´äº¯ ÀÔ´Ï´Ù.
±Û³»¿ë - Áú¹®°ú ´äº¯
 [ÀçÁú¹®]¹®ÀåÀ» ¹ÙÀ̳ʸ®·Î º¯È¯Àº µÇ´Âµ¥ ÀúÀåÀÌ ¾ÊµË´Ï´Ù.
ÀüºÀ¼ö
(ÀüºÀ¼ö)
2017-06-21 ¿ÀÀü 11:37:34
684ȸ Á¶È¸


µî·ÏµÈ ÆÄÀÏÀÌ ¾ø½À´Ï´Ù.
¸¶¹Ù¸®´Ô ´äº¯ °¨»çÇÕ´Ï´Ù.
ÇöÀç ÀúÀåÀº À§¿¡ Å×À̺í Á¤º¸¿Í °°ÀÌ BLOB Çü½ÄÀÔ´Ï´Ù.
°Ë»ö¿¡¼­ ¾òÀº Áö½ÄÀ¸·Î Parameter·Î ÄÚÆÃÀ» Çصµ Çü½ÄÀÌ À߸øµÇ¾ú´Â¾ú´ÂÁö Àß ¾ÈµË´Ï´Ù.
À§ ÀúÀåÄڵ忡¼­ Parameter¸¦ ¾îµð¿¡ ¾î¶»°Ô ³Ê¾î¾ßÇÒÁö À̸®Àú¸® ¸Ó¸®¸¦ Â¥³»¾î ÄÚÆÃÀ» ÇغÁµµ °á±¹ ½ÇÆÐÇÏ¿´½À´Ï´Ù.   

¾Æ·¡ÄÚµå //Ç¥½ÃµÈ°÷Àº ÇãÁ¢ÇÏ°Ô Parameter ±¸¼ºÇÏ´Ù ½ÇÆÐÇÑ ÄÚµå ÀÔ´Ï´Ù. ¾îµð°¡ À߸øµÇ¾ú´ÂÁö ºÁÁÖ¼ÌÀ¸¸é °í¸¿°Ú½À´Ï´Ù.

// ÀúÀå¹öÆ°(¼³Á¤µÈ ¸ðµå¿¡µû¶ó SQL±¸¹®À» µ¿ÀûÀ¸·Î »ý¼ºÇÏ¿© ½ÇÇà
procedure TMotice_F.Btn_SaveClick(Sender: TObject);
var
  sSQL: string;
  sEPM_CD, sStreamVal : String;
  rtVal : Boolean;
//  SS: TMemoryStream;
  SS: TStringStream;
begin
    // °øÁö¸í Á¡°Ë
  IF (Trim(RI_Motice_NM.Text) = '') then
    begin
      Application.MessageBox('°øÁö¸íÀ» ÁöÁ¤ÈÄ ÀÛ¾÷ÇϽÿä...','°øÁö¸í Á¡°Ë',
                              mb_ok+mb_IconInformation);
      ActiveControl := RI_Motice_NM;
      Exit;
    end;

  IF APPLICATION.MESSAGEBOX('ÀԷµȠµ¥ÀÌŸ¸¦ ÀúÀå ÇϽðڽÀ´Ï±î?','ÀúÀåÈ®ÀÎ',
                               MB_YESNO+MB_ICONQUESTION) <> IDYES THEN
    EXIT;

//  SS := TMemoryStream.Create;
  SS := TStringStream.Create(RI_Motice_NM.Text);
//  SS := TStream.Create;//(RI_MOTICE_NM.Text);
  try
    SS.Position := 0;
//    RI_MOTICE_NM.Lines.SaveToFile('C:\12345.txt');
    RI_MOTICE_NM.Lines.SaveToStream(SS);

  sStreamVal := SS.DataString;

  // ¸ðµå¿¡µû¸¥ SQL ±¸¹®»ý¼º
  case MODETYPE of
    mAPPEND: // Ãß°¡ ¸ðµå½Ã
      begin
        sSQL := 'INSERT INTO TF_MOTICE(MOTICE_CD,MOTICE_NM) '+
                'VALUES(' +
                 FORMAT('''%s''',  [TRIM(ED_MOTICE_CD.TEXT)])+  //°øÁöÄÚµå
//                ', :MOTICE_NM' +
                //FORMAT(',''%s''', [TRIM(RI_MOTICE_NM.TEXT)])+  //°øÁö¸í
                FORMAT(',''%s''', [TRIM(sStreamVal)])+ //RI_MOTICE_NM.TEXT)])+  //°øÁö¸í
                ')';
      end;
    mUPDATE: // ¼öÁ¤¸ðµå
      begin
        sSQL := 'UPDATE TF_MOTICE SET' +
                 //FORMAT(' MOTICE_NM =''%s''', [TRIM(RI_MOTICE_NM.TEXT)])+  // °øÁö¸í
                 FORMAT(' MOTICE_NM =''%s''', [TRIM(sStreamVal)])+  // °øÁö¸í
//                ':MOTICE_NM'; //'WHERE MOTICE_CD= :MOTICE_NM';//
                 FORMAT(' WHERE MOTICE_CD=''%s''', [TRIM(ED_MOTICE_CD.Text)]);   // °øÁöÄÚµå
      end;
    mDELETE: // »èÁ¦¸ðµå
      begin
        if APPLICATION.MESSAGEBOX('Á¤¸»·Î »èÁ¦ ÇϽðڽÀ´Ï±î?', '»èÁ¦È®ÀÎ',
          MB_YESNO + MB_ICONQUESTION) <> IDYES then
          EXIT;
          sSQL := 'DELETE FROM TF_MOTICE Where ' +
//                  'MOTICE_NM ' + //  'MOTICE_CD = :MOTICE_NM';
                  'MOTICE_CD = ' + FORMAT('''%s''', [TRIM(ED_MOTICE_CD.Text)]);
      end;
  end;

//   NOTICE1
//showmessage(sSQL);
RI_MOTICE_NM.Lines.SaveToFile('.\RI_MOTICE.txt');
Memo1.Lines.Add(sSQL);
  // µ¿Àû QUERY »ý¼º
//  rtVal := DM.SQL_ExecBlob(DM.qryExec, sSQL, 'MOTICE_NM', SS);  // DataModule¸¦ OpenÇÑ´Ù.
  rtVal := DM.SQL_Exec(DM.qryExec, sSQL);  // DataModule¸¦ OpenÇÑ´Ù.
  if not rtVal then
    begin
      case MODETYPE of
        mAPPEND:
          APPLICATION.MessageBox('°øÁö»çÇ× Å×À̺í Ãß°¡µµÁß ERROR ¹ß»ý!!!', '¿À·ù',
                                  MB_OK + MB_ICONINFORMATION);
        mUPDATE:
          APPLICATION.MessageBox('°øÁö»çÇ× Å×ÀÌºí ¼öÁ¤µµÁß ERROR ¹ß»ý!!!', '¿À·ù',
                                  MB_OK + MB_ICONINFORMATION);
        mDELETE:
          APPLICATION.MessageBox('°øÁö»çÇ× Å×ÀÌºí »èÁ¦µµÁß ERROR ¹ß»ý!!!', '¿À·ù',
                                  MB_OK + MB_ICONINFORMATION);
    end;
  end;

    sStreamVal := ss.DataString;
  finally
    SS.Free;
  end;

  // ÃʱâÈ­
  DM.SQL_OPEN(QR_MOTICE, startSQL);
  CHECKNUM(SENDER);
  ACTIVECONTROL:=RI_Motice_NM;
end; 


>> ¾Æ±â»ç¶û´Ô ´äº¯ °¨»çÇÕ´Ï´Ù.
>> ´Ô²²¼­ ¸»¾¸ÇϽŠ¿¡·¯Á¤º¸¿Í DataModule.pas ÆÄÀÏÀ» ZIP·Î ¾ÐÃàÇÏ¿© Ã·ºÎÆÄÀϷΠ¿Ã¸²´Ï´Ù.
>> ºÎµð ÁÁÀº °á°ú Àֱ⸦ ºÎŹµå¸³´Ï´Ù.
>> 
>> ¾Æ·¡´Â °øÁö»çÇ× Å×À̺í Á¤º¸ ÀÔ´Ï´Ù.
>> CREATE TABLE TF_MOTICE (
>>     MOTICE_CD  VARCHAR(20) NOT NULL,
>>     MOTICE_NM  BLOB SUB_TYPE 0 SEGMENT SIZE 32762,
>>     ONOFF      VARCHAR(10),
>>     SAT_TIME   VARCHAR(10),
>>     END_TIME   VARCHAR(10)
>> );
>> 
>> 
>> ALTER TABLE TF_MOTICE ADD PRIMARY KEY (MOTICE_CD);
>> 
>>  
>> 
>> >> 1. °³¹ß/½ÇÇà Ç÷§Æû 
>> >>   (1) OS : Windows 7
>> >>   (2) °³¹ßÅø :Delphi 7 
>> >>   (3) »ç¿ë Database : Firebird 2.1
>> >> 2. °³¹ß ÁßÀΠÇÁ·Î±×·¥ °øÁö»çÇ×
>> >> 
>> >> 3. Áú¹® ³»¿ë 
>> >> ¾È³çÇϼ¼¿ä?
>> >> °øÁö»çÇ× ÇÁ·Î±×·¥À» ¸¸µå´Â ÁßÀÔ´Ï´Ù.
>> >> ¸®Ä¡¿¡µðÅ͸¦ ÀÌ¿ëÇÏ¿© ±Û²Ã ÆùÆ®·Î º¯È¯ÇÏ¿© ½ºÆ®¸²À¸·Î DB¿¡ ¹ÙÀ̳ʸ®·Î º¯È¯Àº µÇ´Âµ¥ ÀúÀåÁß 
>> >> ÀúÀåÀÌ ¾ÊµÇ°í ¿¡·¯°¡ ³³´Ï´Ù. Ã·ºÎÆÄÀÏÀº ¹ÙÀ̳ʸ®·Î ÅؽºÆ®¿¡ ÀúÀåµÈ ÄÚµåÀÔ´Ï´Ù.
>> >> Á¾Àü¿¡´Â ºÎºÐÀûÀ¸·Î Äڵ带 ¿Ã·È´Âµ¥ ´ä±ÛÀÌ ¾ø¾î¼­ À̹ø¿¡´Â Ç® ÄÚµå·Î Áú¹®À» µå¸³´Ï´Ù.
>> >> 
>> >> 
>> >> ¾Æ·¡¿Í °°ÀÌ ÀúÀåÀü SQLÀ̳ª Text·Î ÀúÀåÇؼ­ º¸¸éÀº º¯È¯Àº µË´Ï´Ù.
>> >> //showmessage(sSQL);
>> >> //Memo1.Lines.Add(sSQL);
>> >> //RI_MOTICE_NM.Lines.SaveToFile('C:\12345.txt'); 
>> >> 
>> >> 
>> >> 
>> >> ¾Æ·¡´Â °øÁö»çÇ× Ç® ÄÚµåÀÔ´Ï´Ù.
>> >> 
>> >> unit Motice;
>> >> 
>> >> interface
>> >> 
>> >> uses
>> >>   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
>> >>   Dialogs, AdvToolBtn, ExtCtrls, StdCtrls, ComCtrls, DB, DBTables, Buttons,
>> >>   ADODB, Contnrs;
>> >> 
>> >> type
>> >>   TModeType = (mNone,mAppend,mUpdate,mDelete);
>> >>   TMotice_F = class(TForm)
>> >>     Panel1: TPanel;
>> >>     Panel2: TPanel;
>> >>     Panel3: TPanel;
>> >>     Btn_Save: TAdvToolButton;
>> >>     Btn_CLOSE: TAdvToolButton;
>> >>     spAPPEND: TAdvToolButton;
>> >>     spUPDATE: TAdvToolButton;
>> >>     spDELETE: TAdvToolButton;
>> >>     QR_MOTICE: TQuery;
>> >>     Sp_Motice_CD: TSpeedButton;
>> >>     ED_MOTICE_CD: TEdit;
>> >>     RI_Motice_NM: TRichEdit;
>> >>     Panel4: TPanel;
>> >>     Panel5: TPanel;
>> >>     FontDialog1: TFontDialog;
>> >>     Btn_Font1: TAdvToolButton;
>> >>     Memo1: TMemo;
>> >>     procedure Btn_CLOSEClick(Sender: TObject);
>> >>     procedure FormCreate(Sender: TObject);
>> >>     procedure FormShow(Sender: TObject);
>> >>     procedure ED_MOTICE_CDChange(Sender: TObject);
>> >>     procedure Sp_Motice_CDClick(Sender: TObject);
>> >>     procedure spAPPENDClick(Sender: TObject);
>> >>     procedure Btn_SaveClick(Sender: TObject);
>> >>     procedure Btn_Font1Click(Sender: TObject);
>> >>   private
>> >>     { Private declarations }
>> >>     MODETYPE: TMODETYPE;      // ÇöÀçÀÇ ¸ðµå»óÅÂ
>> >>     PROCEDURE COMPONENTCLEAR; // ÄÄÆ÷³ÍÆ® ÃʱâÈ­ ÇÔ¼ö
>> >>     PROCEDURE CHECKNUM(SENDER: TOBJECT);
>> >>     procedure GET_MOTICE(sMOTICECD: string);
>> >>   public
>> >>     { Public declarations }
>> >>   end;
>> >> 
>> >> var
>> >>   Motice_F: TMotice_F;
>> >> 
>> >> implementation
>> >> 
>> >> uses GOCOMU,ULSEQRUM, DataModule;
>> >> 
>> >> var
>> >>   startSQL : String;
>> >> 
>> >> {$R *.dfm}
>> >> 
>> >> // ÀÛ¾÷¸ðµå¸¦ ¼öÁ¤¸ðµå·Î ÀüȯÇÑ´Ù.(ÇÁ·Î±×·¥ ÃʱâÈ­)
>> >> procedure TMotice_F.FormCreate(Sender: TObject);
>> >> begin
>> >>   spUPDATE.Click;                         // ¼öÁ¤¹öÆ° È°¼ºÈ­
>> >> end;
>> >> 
>> >> // EDIT ÃʱâÈ­
>> >> PROCEDURE TMotice_F.COMPONENTCLEAR;
>> >> VAR
>> >>   wCC: WORD;
>> >> BEGIN
>> >>   //  Àüü COMPONENTÁß¿¡¼­ EDIT CHECKBOXÃʱâÈ­
>> >>   FOR wCC:=1 TO COMPONENTCOUNT - 1 DO
>> >>     IF COMPONENTS[wCC] IS TEDIT THEN
>> >>       TEDIT(COMPONENTS[wCC]).TEXT:=''
>> >>     ELSE
>> >>     IF COMPONENTS[wCC] IS TCHECKBOX THEN
>> >>       TCHECKBOX(COMPONENTS[wCC]).CHECKED:=FALSE
>> >>     ELSE
>> >>     IF COMPONENTS[wCC] IS TRichEdit THEN
>> >>       TRichEdit(COMPONENTS[wCC]).Lines.Text:='';
>> >> end;
>> >> 
>> >> // µî·ÏµÈ ÀÚ·á º¸¿©ÁÖ±â ÇÔ¼ö
>> >> PROCEDURE TMotice_F.CHECKNUM(SENDER: TOBJECT);
>> >> Var
>> >>   sSQL : String;
>> >> begin
>> >>   sSQL := ' Select * From TF_MOTICE';
>> >>   DM.SQL_OPEN(QR_MOTICE, sSQL);
>> >>   if QR_MOTICE.Eof then
>> >>     Exit;
>> >>     try
>> >>       QR_MOTICE.OPEN;
>> >>     except
>> >>       APPLICATION.MESSAGEBOX('°øÁö»çÇ× Á¤º¸ Å×ÀÌºí »ý¼ºµµÁß ¿¡·¯¹ß»ý!!!',
>> >>                              '¿À·ù', MB_OK + MB_ICONINFORMATION);
>> >>       QR_MOTICE.CLOSE;
>> >>     end;
>> >> end;
>> >> 
>> >> // ÀÛ¾÷Á¾·á
>> >> procedure TMotice_F.Btn_CLOSEClick(Sender: TObject);
>> >> begin
>> >>   Close;
>> >> end;
>> >> 
>> >> // µî·ÏµÈ ÀڷḦ º¸¿©ÁØ´Ù.
>> >> procedure TMotice_F.FormShow(Sender: TObject);
>> >> Var
>> >>   sSQL : String;
>> >> begin
>> >>   startSQL := ' Select * From TF_MOTICE';
>> >>   DM.SQL_OPEN(QR_MOTICE, startSQL);
>> >>   if QR_MOTICE.Eof then
>> >>     Exit;
>> >>     try
>> >>       QR_MOTICE.OPEN;
>> >>     except
>> >>       APPLICATION.MESSAGEBOX('°øÁö»çÇ× Á¤º¸ Å×ÀÌºí »ý¼ºµµÁß ¿¡·¯¹ß»ý!!!',
>> >>                              '¿À·ù', MB_OK + MB_ICONINFORMATION);
>> >>       QR_MOTICE.CLOSE;
>> >>     end;
>> >> end;
>> >> 
>> >> // °øÁöÄڵ尡 ¹Ù²î¸é µî·ÏµÈ ÀڷḦ Àç ÀÛ¼ºÇÑ´Ù.
>> >> procedure TMotice_F.ED_MOTICE_CDChange(Sender: TObject);
>> >> begin
>> >>   // °øÁöÄڵ带 Àç ÀÛ¼ºÇÑ´Ù.
>> >>   Sp_Motice_CD.Click;
>> >> 
>> >>   // µî·ÏµÈ Àڷΰ¡ ÀÖÀ¸¸é º¸¿©ÁÖ°í »èÁ¦¹öÆ° È°¼ºÈ­¿©ºÎ Á¡°Ë
>> >>   IF SENDER = ED_MOTICE_CD THEN
>> >>     BEGIN
>> >>       GET_MOTICE(TRIM(TEDIT(SENDER).TEXT));
>> >>       IF QR_MOTICE.ACTIVE THEN
>> >>         QR_MOTICE.Locate('MOTICE_CD',TRIM(TEDIT(SENDER).TEXT),[lopartialkey]);
>> >>     END;
>> >> 
>> >>   // ÀԷ¿¡¼­ °øÁö»çÇ× ÄÚµå±â ÀԷµǸ頰øÁö ³»¿ëÀ» Ã£¾ÆÁØ´Ù.
>> >>   if SENDER = ED_MOTICE_CD then
>> >>     BEGIN
>> >>       RI_MOTICE_NM .TEXT:=
>> >>       GET_CODE_DESC('TF_MOTICE',1,[1],['MOTICE_CD'],[TRIM(ED_MOTICE_CD.TEXT)],'MOTICE_NM');
>> >>     END;
>> >> end;
>> >> 
>> >> // µî·ÏµÈ ÀÚ·á º¸¿©ÁÖ±â ÇÔ¼ö
>> >> procedure TMotice_F.GET_MOTICE(sMOTICECD: string);
>> >> Var
>> >>   Q1 : TQUery;
>> >>   SS: TStringStream;
>> >>   sTemp: String;
>> >> begin
>> >>   if MODETYPE in [mNone] then
>> >>     EXIT;
>> >> 
>> >>     Q1:=TQUERY.CREATE(SELF);
>> >>     Q1.DATABASENAME:=ALIASNAME;
>> >>     Q1.SQL.CLEAR;
>> >>     Q1.SQL.ADD(' SELECT * FROM TF_MOTICE WHERE MOTICE_CD = '''+sMOTICECD+'''');
>> >>     Q1.OPEN;
>> >>     SS := TStringStream.Create('');
>> >>     sTemp := Q1.FieldByName('MOTICE_NM').AsString;
>> >>     RI_MOTICE_NM.Lines.SaveToStream(SS);
>> >>     SS.Free;
>> >>     Q1.CLOSE;
>> >>     Q1.FREE;
>> >>     ACTIVECONTROL:=RI_MOTICE_NM;
>> >> end;
>> >> 
>> >> // °øÁö»çÇ×Äڵ堽ÇÇà
>> >> procedure TMotice_F.Sp_Motice_CDClick(Sender: TObject);
>> >> begin
>> >>   ED_MOTICE_CD.Text := 'MOT001';
>> >> end;
>> >> 
>> >> //-----------------------------------------------------------------------------
>> >> // BUTTON EVENT
>> >> //-----------------------------------------------------------------------------
>> >> // »ðÀÔ¹öÆ°(¼±ÅùöÆ° ¸ðµå¼³Á¤
>> >> procedure TMotice_F.spAPPENDClick(Sender: TObject);
>> >> Var
>> >>   sSQL :String;
>> >> begin
>> >>   // ÇöÀç ÀÛ¾÷¸ðµå »óÅ ¼³Àü
>> >>   if SENDER = spAPPEND then MODETYPE := mAPPEND
>> >>   else
>> >>   if SENDER = spUPDATE then MODETYPE := mUPDATE
>> >>   else
>> >>   if SENDER = spDELETE then MODETYPE := mDELETE;
>> >> 
>> >>   // µî·ÏµÈ ÀüüÀÚ·á º¸¿©ÁÖ±â
>> >>   sSQL := 'SELECT * FROM TF_MOTICE';
>> >>   DM.SQL_Open(QR_Motice, sSQL);
>> >>   if not QR_Motice.Active then
>> >>     QR_Motice.OPEN;
>> >>     CHECKNUM(SENDER);
>> >>     ACTIVECONTROL := RI_Motice_NM; // Ä¿¼ÅÁ¦¾î
>> >> end;
>> >> 
>> >> // ÀúÀå¹öÆ°(¼³Á¤µÈ ¸ðµå¿¡µû¶ó SQL±¸¹®À» µ¿ÀûÀ¸·Î »ý¼ºÇÏ¿© ½ÇÇà
>> >> procedure TMotice_F.Btn_SaveClick(Sender: TObject);
>> >> var
>> >>   sSQL: string;
>> >>   sEPM_CD, sStreamVal : String;
>> >>   rtVal : Boolean;
>> >> //  SS: TMemoryStream;
>> >>   SS: TStringStream;
>> >> begin
>> >>     // °øÁö¸í Á¡°Ë
>> >>   IF (Trim(RI_Motice_NM.Text) = '') then
>> >>     begin
>> >>       Application.MessageBox('°øÁö¸íÀ» ÁöÁ¤ÈÄ ÀÛ¾÷ÇϽÿä...','°øÁö¸í Á¡°Ë',
>> >>                               mb_ok+mb_IconInformation);
>> >>       ActiveControl := RI_Motice_NM;
>> >>       Exit;
>> >>     end;
>> >> 
>> >>   IF APPLICATION.MESSAGEBOX('ÀԷµȠµ¥ÀÌŸ¸¦ ÀúÀå ÇϽðڽÀ´Ï±î?','ÀúÀåÈ®ÀÎ',
>> >>                                MB_YESNO+MB_ICONQUESTION) <> IDYES THEN
>> >>     EXIT;
>> >> 
>> >>   SS := TStringStream.Create(RI_Motice_NM.Text);
>> >>   try
>> >>     SS.Position := 0;
>> >>     RI_MOTICE_NM.Lines.SaveToStream(SS);
>> >> 
>> >>   sStreamVal := SS.DataString;
>> >> 
>> >>   // ¸ðµå¿¡µû¸¥ SQL ±¸¹®»ý¼º
>> >>   case MODETYPE of
>> >>     mAPPEND: // Ãß°¡ ¸ðµå½Ã
>> >>       begin
>> >>         sSQL := 'INSERT INTO TF_MOTICE(MOTICE_CD,MOTICE_NM) '+
>> >>                 'VALUES(' +
>> >>                  FORMAT('''%s''',  [TRIM(ED_MOTICE_CD.TEXT)])+  //°øÁöÄÚµå
>> >>                 FORMAT(',''%s''', [TRIM(sStreamVal)])+ //RI_MOTICE_NM.TEXT)])+  //°øÁö¸í
>> >>                 ')';
>> >>       end;
>> >>     mUPDATE: // ¼öÁ¤¸ðµå
>> >>       begin
>> >>         sSQL := 'UPDATE TF_MOTICE SET' +
>> >>                  FORMAT(' MOTICE_NM =''%s''', [TRIM(sStreamVal)])+  // °øÁö¸í
>> >>                  FORMAT(' WHERE MOTICE_CD=''%s''', [TRIM(ED_MOTICE_CD.Text)]);   // °øÁöÄÚµå
>> >>       end;
>> >>     mDELETE: // »èÁ¦¸ðµå
>> >>       begin
>> >>         if APPLICATION.MESSAGEBOX('Á¤¸»·Î »èÁ¦ ÇϽðڽÀ´Ï±î?', '»èÁ¦È®ÀÎ',
>> >>           MB_YESNO + MB_ICONQUESTION) <> IDYES then
>> >>           EXIT;
>> >>           sSQL := 'DELETE FROM TF_MOTICE Where ' +
>> >>                   'MOTICE_CD = ' + FORMAT('''%s''', [TRIM(ED_MOTICE_CD.Text)]);
>> >>       end;
>> >>   end;
>> >> 
>> >> //showmessage(sSQL);
>> >> //Memo1.Lines.Add(sSQL);
>> >> //RI_MOTICE_NM.Lines.SaveToFile('C:\12345.txt'); //<- ÅؽºÆ®·Î ÀúÀåÇϸ頹ÙÀ̳ʸ®·Î ÀúÀå µÊ
>> >> 
>> >>   // µ¿Àû QUERY »ý¼º
>> >>   rtVal := DM.SQL_Exec(DM.qryExec, sSQL);  // DataModule¸¦ OpenÇÑ´Ù.
>> >>   if not rtVal then
>> >>     begin
>> >>       case MODETYPE of
>> >>         mAPPEND:
>> >>           APPLICATION.MessageBox('°øÁö»çÇ× Å×À̺í Ãß°¡µµÁß ERROR ¹ß»ý!!!', '¿À·ù',
>> >>                                   MB_OK + MB_ICONINFORMATION);
>> >>         mUPDATE:
>> >>           APPLICATION.MessageBox('°øÁö»çÇ× Å×ÀÌºí ¼öÁ¤µµÁß ERROR ¹ß»ý!!!', '¿À·ù',
>> >>                                   MB_OK + MB_ICONINFORMATION);
>> >>         mDELETE:
>> >>           APPLICATION.MessageBox('°øÁö»çÇ× Å×ÀÌºí »èÁ¦µµÁß ERROR ¹ß»ý!!!', '¿À·ù',
>> >>                                   MB_OK + MB_ICONINFORMATION);
>> >>     end;
>> >>   end;
>> >> 
>> >>     sStreamVal := ss.DataString;
>> >>   finally
>> >>     SS.Free;
>> >>   end;
>> >> 
>> >>   // ÃʱâÈ­
>> >>   DM.SQL_OPEN(QR_MOTICE, startSQL);
>> >>   CHECKNUM(SENDER);
>> >>   ACTIVECONTROL:=RI_Motice_NM;
>> >> end;
>> >> 
>> >> // ¸®Ä¡¿¡µðÅÍ¿¡ ºí·°À¸·Î ±Û²Ã°ú »ö»ó Å©±â ÆùÆ® ³Ö±â
>> >> procedure TMotice_F.Btn_Font1Click(Sender: TObject);
>> >> begin
>> >>   if RI_Motice_NM.SelLength > 0 then
>> >>     begin
>> >>       FontDialog1.Font.Assign(RI_Motice_NM.DefAttributes);
>> >>       if FontDialog1.Execute then
>> >>         RI_Motice_NM.SelAttributes.Assign(FontDialog1.Font);
>> >>     end;
>> >> end;
>> >> 
>> >> end.