::: µ¨ÆÄÀÌ Tip&Trick :::

µ¨ÆÄÀÌ Tip&Trick ¼º°Ý¿¡ ¸ÂÁö ¾Ê´Â ±¤°í,ºñ¹æ,Áú¹®ÀÇ ±ÛÀº Áï½Ã »èÁ¦Çϸç
³»¿ëÀ» º¹»çÇÏ¿© »ç¿ëÇÒ °æ¿ì ¹Ýµå½Ã À̰÷(http://www.howto.pe.kr)À» Ãâó·Î ¸í½ÃÇÏ¿© ÁÖ¼¼¿ä


Category

  ±è¿µ´ë(2003-03-05 10:44:10, Hit : 6325, Vote : 1174
 ¾²·¹µå¸¦ ÀÌ¿ëÇÑ º¹¼ö Query µ¿½Ã¿¡ ¿­±â

// ¾Æ·¡ ¿¹Á¦´Â INPRISE TI ¿¡ ÀÖ´Â ³»¿ëÀÔ´Ï´Ù
// ¿¹Á¦¸¸ Á¶±Ý ¹Ù²Ù¾ú½À´Ï´Ù

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBTables, Db, StdCtrls, Grids, DBGrids, ComCtrls;

type
  TForm1 = class(TForm)
    Database1: TDatabase;
    Query1: TQuery;
    Query2: TQuery;
    Query3: TQuery;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    DBGrid3: TDBGrid;
    Button1: TButton;
    ProgressBar1: TProgressBar;
    Session1: TSession;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TQueryThread = class(TThread)
  private
    FDatabase: TDataBase;
    FQuery: TQuery;
    FDatasource: TDatasource;
    FQueryException: Exception;
    procedure ConnectDataSource;
    procedure ShowQryError;
  protected
    procedure Execute; override;
  public
    constructor Create(Session: TSession; DataBase:
      TDatabase; Query: TQuery; DataSource: TDataSource); virtual;
  end;

var
  Form1: TForm1;

implementation

constructor TQueryThread.Create(Session: TSession; DataBase:
  TDatabase; Query: TQuery; Datasource: TDataSource);
begin
  // thread objectÀÇ instance¸¦ »ý¼ºÇÑ´Ù
  // CreateÀÇ ÆÄ¶ó¹ÌÅͰ¡ FalseÀ̸é thread¸¦ »ý¼ºÇÑÈÄ Áï½Ã Execute¸¦ È£ÃâÇÏ¿© ½ÇÇàÇÑ´Ù
  //            "        TrueÀ̸é ResumeÀ» È£ÃâÇϱâ Àü±îÁö ½ÇÇàÇÏÁö ¾Ê´Â´Ù(suspended)
  inherited Create(True);

  FDatabase := DataBase;
  FQuery := Query;
  FDataSource := Datasource;

  // threadÀÇ ½ÇÇàÀÌ Á¾·áÇϸé ÀÚµ¿À¸·Î freeµÇ°Ô ¼³Á¤
  FreeOnTerminate := True;

  // ½ÇÇàÀÌ ÀϽà ÁßÁöµÈ(suspended) thread¸¦ ½ÇÇàÇÑ´Ù
  Resume;
end;

procedure TQueryThread.Execute;
begin
  try
    // Query¸¦ openÇϰí DataSource¸¦ ¿¬°áÇÑ´Ù
    FQuery.Open;

    // thread°£ÀÇ Ãæµ¹À» ÇÇÇÏ¿© ConnectDataSource ¸¦ È£ÃÍÇÑ´Ù
    Synchronize(ConnectDataSource);
  except
    // Handle the exception
    FQueryException := ExceptObject as Exception;
    // thread°£ÀÇ Ãæµ¹À» ÇÇÇÏ¿© ShowQryError ¸¦ È£ÃÍÇÑ´Ù
    Synchronize(ShowQryError);
  end;
end;

procedure TQueryThread.ConnectDataSource;
begin
  // DataSource¸¦ ¿¬°áÇÑ´Ù
  FDataSource.DataSet := FQuery;
end;

procedure TQueryThread.ShowQryError;
begin
  // Handle the exception
  Application.ShowException(FQueryException);
end;

procedure RunBackgroundQuery(Session: TSession; DataBase: TDataBase;
            Query: TQuery; DataSource: TDataSource);
begin
  {thread instance »ý¼º}
  TQueryThread.Create(Session, Database, Query, DataSource);
end;

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  {º´·Äó¸®: 3°³ÀÇ Query¸¦ thread¸¦ »ç¿ëÇÏ¿© openÇÑ´Ù}
  RunBackgroundQuery(Session1, DataBase1, Query1, Datasource1);
  RunBackgroundQuery(Session1, DataBase1, Query2, Datasource2);
  RunBackgroundQuery(Session1, DataBase1, Query3, Datasource3);

(* ¼øÂ÷ó¸®: ÀϹÝÀûÀÎ Query Open
  Query1.Open;
  Query2.Open;
  Query3.Open;
*)

  for i := 1 to 100 do
    ProgressBar1.Position := i;
end;

end.





291   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¹®ÀÚ¿­ÀÇ word °¹¼ö ¼¼±â  ±è¿µ´ë 2003/03/04 4345 1179
290   [½Ã½ºÅÛ] ƯÁ¤ DLL ÀÇ ÇÔ¼ö¸ñ·ÏÀ» ±¸Çغ¸ÀÚ.  ±¸Ã¢¹Î 2003/03/14 5555 1178
289   [½Ã½ºÅÛ] ¾²·¹µå ³»¿¡¼­ ÆûÀ» »ý¼ºÇغ¸ÀÚ  ±¸Ã¢¹Î 2003/03/14 5621 1178
288   [À©µµ¿ìÁî API] bitmap ÀμâÇϱâ 2  ±è¿µ´ë 2003/03/05 4360 1178
287   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¸ðµç µå¶óÀ̺ê,µð·ºÅ丮 °Ë»öÇÏ¿© ÆÄÀÏ Ã£±â  ±è¿µ´ë 2003/03/07 4706 1177
286   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] MS-OutLook À¸·Î ¸Þ½ÃÁö º¸³»±â  ±è¿µ´ë 2003/03/07 5132 1175
285   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¹®ÀÚ¿­ÀÇ ³¡¿¡¼­ºÎÅÍ °Ë»öÇÏ´Â Pos() ÇÔ¼ö  ±è¿µ´ë 2003/03/07 5104 1175
284   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ListBoxÀÇ È­¸é¿¡ º¸¿©Áö´Â ÃÖ»óÀ§ Item ¹øÈ£  ±è¿µ´ë 2003/03/07 4323 1174
  [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¾²·¹µå¸¦ ÀÌ¿ëÇÑ º¹¼ö Query µ¿½Ã¿¡ ¿­±â  ±è¿µ´ë 2003/03/05 6325 1174
282   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TRichEdit ¿¡ À­Ã·ÀÚ, ¾Æ·§Ã·ÀÚ ¸¸µé±â  ±è¿µ´ë 2003/03/07 4550 1173
281   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ÇϳªÀÇ ÇÁ·Î½ÃÀú,ÇÔ¼ö·Î ´Ù¸¥ ÇÔ¼ö,ÇÁ·Î½ÃÀú¸¦ ó¸®  ±è¿µ´ë 2003/03/05 4020 1173
280   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] MemoÀÇ ÀÔ·ÂÇà¼ö Á¦ÇÑÇÏ±â  ±è¿µ´ë 2003/03/07 4137 1172
279   [À©µµ¿ìÁî API] bitmap ÀμâÇÏ±â  ±è¿µ´ë 2003/03/05 4530 1172
278   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TStringGrid ÀμâÇÏ±â  ±è¿µ´ë 2003/03/07 4790 1171
277   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] StringGrid ÀÇ BeginUpdate/EndUpdate ?  ±è¿µ´ë 2003/03/07 5475 1171
276   [COM/OLE] How to register an OCX  ±è¿µ´ë 2003/03/06 5006 1171
275   [µ¥ÀÌÅͺ£À̽º] Paradox Å×À̺íÀÌ ±úÁ³À»¶§...  ±è¿µ´ë 2003/03/05 5055 1170
274   [µ¥ÀÌÅͺ£À̽º] ¸î°¡Áö BDE ȯ°æÁ¤º¸ ±¸ÇÏ±â  ±è¿µ´ë 2003/03/07 4389 1169
273   [À©µµ¿ìÁî API] ¹Ù·Î Á÷Àü¿¡ active µÇ¾ú´ø À©µµ¿ì¿Í ÄÜÆ®·Ñ ±¸ÇÏ±â  ±è¿µ´ë 2004/07/24 4637 1168
272     [COM/OLE] [re] PDF ActiveX »ç¿ëÇÏ±â  Ãʺ¸µ¨ÇÇ 2005/07/18 5289 1167
271   [½Ã½ºÅÛ] PC¿¡ ¼³Ä¡µÈ µå¶óÀÌºê ¸ñ·Ï ±¸ÇÏ±â  ±è¿µ´ë 2003/03/07 4750 1166
270   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ComboBox¿¡ IEÀÇ URL ÀÔ·Ââ °°Àº ±ÙÁ¢°Ë»ö µÎ±â  ±è¿µ´ë 2003/03/31 4639 1163
269   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¼öÁ÷ ½ºÅ©·ÑÀÌ ¸Ç¸¶Áö¸·À¸·Î À̵¿Çß´ÂÁö °Ë»ç  ±è¿µ´ë 2003/03/07 3953 1162
268   [À©µµ¿ìÁî API] µ¥½ºÅ©Å¾ ¾ÆÀÌÄÜ ÀüºÎ °¨Ãß±â/º¸ÀÌ±â  ±è¿µ´ë 2003/03/07 3944 1162
267   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Ç¥ÁØ ÄÜÆ®·ÑÀÇ ¸î°¡Áö ÇÑ°è  ±è¿µ´ë 2003/03/05 4324 1162
266   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] º£Áê(Bezier) °î¼± ±×¸®±â2  ±è¿µ´ë 2003/03/07 4866 1160
265   [¾Ë°í¸®Áò] ¼ýÀÚ¸¦ KB, MB, GB ´ÜÀ§·Î ȯ»êÇÏ±â  ±è¿µ´ë 2003/11/13 5063 1159
264   [À©µµ¿ìÁî API] "¹®¼­" ¸Þ´º¿¡ ÆÄÀÏÀ» µî·ÏÇÏ°í »èÁ¦ÇÏ±â  ±è¿µ´ë 2003/03/05 4315 1159
263   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Variant º¯¼öÀÇ Type ¾Ë¾Æ³»±â  ±è¿µ´ë 2003/03/05 4365 1159
262   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] MemoÀÇ Ä¿¼­¸¦ ƯÁ¤ À§Ä¡·Î º¸³½ÈÄ scroll ½ÃŰ±â  ±è¿µ´ë 2003/03/05 4995 1159
261   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ÇÁ·Î±×·¥ Á¾·á½Ã µµ¿ò¸» È­¸é ´Ý±â  ±è¿µ´ë 2003/03/05 4229 1159
260   [½Ã½ºÅÛ] ÀÏÁ¤½Ã°£ °æ°ú ÈÄ À©µµ¿ìÁî Á¾·áÇÏ±â  ±è¿µ´ë 2004/08/03 4692 1158
259   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ºÎȰÀý ´Þ°¿(easter egg) ¹®ÀÚ¿­ ÀÔ·Â¹Þ±â  ±è¿µ´ë 2003/03/07 4808 1158
258   [½Ã½ºÅÛ] ÇÁ¸°ÅÍ¿¡ escape Äڵ带 Àü´ÞÇÏ´Â ¹æ¹ý  ±è¿µ´ë 2003/03/06 3929 1158
257   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Ç¥ÁØ TListBox ¿¡ Radio ¹öư ¿Ã¸®±â  ±è¿µ´ë 2004/07/27 4209 1156
256   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ÆÄÀÏ¿¡¼­ ƯÁ¤ Byte ¸ðµÎ ã±â  ±è¿µ´ë 2003/03/07 4523 1156
255   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ButtonÀÇ Mouse Down/Up Èä³»³»±â  ±è¿µ´ë 2003/03/07 4477 1155
254   [µ¥ÀÌÅͺ£À̽º] SQL½ÇÇà½ÃÀÇ ¸ð·¡½Ã°è¸¦ Ç¥½ÃÇÏÁö ¾Ê´Â ¹æ¹ý  ±è¿µ´ë 2003/03/07 4670 1154
253   [À©µµ¿ìÁî API] IEÀÇ ÇöÀç url °¡Á®¿À±â  ±è¿µ´ë 2003/03/07 4608 1154
252   [½Ã½ºÅÛ] Thread »ç¿ëÇÏ±â  ±è¿µ´ë 2003/03/07 4216 1153

[ÀÌÀü 10°³] [1]..[11][12][13][14][15][16][17] 18 [19][20]..[25] [´ÙÀ½ 10°³]
 

Copyright 1999-2022 Zeroboard / skin by zero