亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? unit1.pas

?? this method files is bla bla bla bla
?? PAS
字號(hào):
unit Unit1;

{

Multithreaded Delphi Database Queries

http://delphi.about.com/od/kbthread/a/query_threading.htm

~Zarko Gajic


}

interface

uses
  ActiveX,  StrUtils, Clipbrd,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls;

type
  TCalcThread = class(TThread)
  private
    procedure RefreshCount;
  protected
    procedure Execute; override;
  public
    ConnStr : widestring;
    SQLString : widestring;
    ListBox : TListBox;
    Priority: TThreadPriority;
    TicksLabel : TLabel;

    Ticks : Cardinal;
  end;

  TADOThreadedForm = class(TForm)
    ADOConnection1: TADOConnection;
    lbCustomer1: TListBox;
    lbCustomer3: TListBox;
    lbCustomer2: TListBox;
    lblCustomer1: TLabel;
    lblCustomer2: TLabel;
    lblCustomer3: TLabel;
    Button1: TButton;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    Button2: TButton;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    ComboBox3: TComboBox;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    function RunThread(SQLString : widestring; LB:TListBox; Priority: TThreadPriority; lbl : TLabel): TCalcThread;
  public
    ct1, ct2, ct3 : TCalcThread;
    procedure ThreadTerminated(Sender:TObject);
  end;

var
  ADOThreadedForm: TADOThreadedForm;

implementation
{$R *.dfm}

procedure TADOThreadedForm.FormCreate(Sender: TObject);
begin
  with ADOQuery1 do
  begin
    Open;
    try
      while not EOF do
      begin
        ComboBox1.AddItem(ADOQuery1.Fields[1].AsString, TObject(ADOQuery1.Fields[0].AsInteger));
        Next;
      end;
    finally
      Close;
    end;
  end;

  //copy items
  ComboBox2.Items.Assign(ComboBox1.Items);
  ComboBox3.Items.Assign(ComboBox1.Items);

  //init to first
  ComboBox1.ItemIndex := 0;
  ComboBox2.ItemIndex := 0;
  ComboBox3.ItemIndex := 0;

end;

procedure TADOThreadedForm.Button1Click(Sender: TObject);
var
  s, sg: widestring;

  c1, c2, c3 : integer;
begin

  s := ' SELECT O.SaleDate, MAX(I.ItemNo) AS ItemCount  ' +
       ' FROM Customer C, Orders O,  Items I   ' +
       ' WHERE C.CustNo = O.CustNo AND I.OrderNo = O.OrderNo ' ;

  sg := ' GROUP BY O.SaleDate ';


  c1 := Integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
  c2 := Integer(ComboBox2.Items.Objects[ComboBox2.ItemIndex]);
  c3 := Integer(ComboBox3.Items.Objects[ComboBox3.ItemIndex]);


  Caption := '';

  ct1 := RunThread(Format('%s AND C.CustNo = %d %s',[s, c1, sg]), lbCustomer1, tpTimeCritical, lblCustomer1);

  ct2 := RunThread(Format('%s AND C.CustNo = %d %s',[s, c2, sg]), lbCustomer2, tpNormal,lblCustomer2);

  ct3 := RunThread(Format('%s AND C.CustNo = %d %s',[s, c3, sg]), lbCustomer3, tpLowest, lblCustomer3);

end;

function TADOThreadedForm.RunThread(SQLString: widestring; LB:TListBox; Priority: TThreadPriority; lbl : TLabel): TCalcThread;
var
  CalcThread : TCalcThread;
begin
  CalcThread := TCalcThread.Create(true);
  CalcThread.FreeOnTerminate := true;
  CalcThread.ConnStr := ADOConnection1.ConnectionString;
  CalcThread.SQLString := SQLString;
  CalcThread.ListBox := LB;
  CalcThread.Priority := Priority;
  CalcThread.TicksLabel := lbl;
  CalcThread.OnTerminate := ThreadTerminated;
  CalcThread.Resume;

  Result := CalcThread;
end;

procedure TADOThreadedForm.Button2Click(Sender: TObject);
begin
  ct2.Terminate;
end;

procedure TADOThreadedForm.ThreadTerminated(Sender: TObject);
begin
  Caption := Caption + (Sender as TCalcThread).ListBox.Name + ' - ';
end;


{ TCalcThread }

procedure TCalcThread.Execute;
var
  Qry : TADOQuery;
  i : integer;
begin
  inherited;

  ticks := GetTickCount();
  CoInitialize(nil); //CoInitialize was not called
  Qry := TADOQuery.Create(nil);
  try
//    Qry.Connection := Form1.ADOConnection1;     MUST USE OWN CONNECTION
    Qry.ConnectionString := ConnStr;
    Qry.CursorLocation := clUseServer;
    Qry.LockType := ltReadOnly;
    Qry.CursorType := ctOpenForwardOnly;
    Qry.SQL.Text := SQLString;


    ListBox.Clear;
    Qry.Open;
    for i:= 0 to 100 do
    begin
      while NOT Qry.Eof and NOT Terminated do
      begin
        ListBox.Items.Insert(0, Format('%s - %d', [Qry.Fields[0].asString,Qry.Fields[1].AsInteger]));

        //Canvas Does NOT Allow Drawing if not called through Synhronize
        Synchronize(RefreshCount);

        Qry.Next;
      end; //while
      if Terminated then break;
      Qry.First;
      ListBox.Items.Add('*---------*');
    end; // for
  finally
    Qry.Free;
  end;
  CoUninitialize();
  ticks := GetTickCount - ticks;
  TicksLabel.Caption := 'Ticks: ' + IntToStr(ticks);
end; //TCalcThread.Execute;


procedure TCalcThread.RefreshCount;
begin
  TicksLabel.Caption := IntToStr(ListBox.Items.Count);
end;


end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性色综合网| 美女高潮久久久| 国产91在线|亚洲| 欧美成人一区二区三区片免费| 亚洲国产综合在线| 在线中文字幕不卡| 亚洲午夜一二三区视频| 欧美性猛交xxxx黑人交| 亚洲综合区在线| 欧美伊人久久大香线蕉综合69| 日韩你懂的在线观看| 蜜臀久久久久久久| 日韩女优视频免费观看| 国内偷窥港台综合视频在线播放| 精品国产麻豆免费人成网站| 亚洲国产精品久久艾草纯爱| 欧美体内she精视频| 香蕉久久夜色精品国产使用方法 | 日韩精品一二三四| 欧美妇女性影城| 日本特黄久久久高潮| 欧美一区二区人人喊爽| 国产91精品精华液一区二区三区 | 精品av久久707| 夫妻av一区二区| 亚洲欧美在线视频观看| 在线一区二区三区四区五区 | 国产精品视频免费| 91丨九色丨蝌蚪丨老版| 亚洲国产va精品久久久不卡综合| 91精品欧美综合在线观看最新| 老司机精品视频在线| 日本一区二区三区dvd视频在线| 91丨porny丨国产| 亚洲成人免费电影| 久久日一线二线三线suv| 成人免费视频app| 午夜视频一区二区三区| 欧美成人r级一区二区三区| 国产1区2区3区精品美女| 亚洲精品国产成人久久av盗摄 | 一本色道亚洲精品aⅴ| 丝袜a∨在线一区二区三区不卡| 日韩视频一区二区| 国产黄色精品网站| 奇米精品一区二区三区在线观看| 久久久激情视频| 欧洲精品一区二区| 蜜桃一区二区三区在线观看| 亚洲另类一区二区| 久久久久久麻豆| 欧美三级在线视频| 久久精品国产精品亚洲精品| 一区二区三区免费在线观看| 久久女同性恋中文字幕| 欧美日韩亚洲综合在线| 成人网在线免费视频| 日本免费在线视频不卡一不卡二| 亚洲国产精品精华液ab| 欧美电影免费观看高清完整版在线观看| 成人久久视频在线观看| 奇米影视一区二区三区| 亚洲一级二级三级在线免费观看| 国产亚洲欧美色| 久久久久久久网| 日韩免费看的电影| 欧美日韩一区中文字幕| 成人av免费在线播放| 国产91综合网| 国产成人精品影视| 久久99精品一区二区三区三区| 国产精品毛片无遮挡高清| 亚洲国产精品二十页| 日韩亚洲欧美在线| 欧美午夜视频网站| 91在线云播放| 91麻豆免费视频| 国产v日产∨综合v精品视频| 蜜臀av性久久久久av蜜臀妖精| 亚州成人在线电影| 亚洲一区二区三区在线| 国产精品久久国产精麻豆99网站| 精品国产制服丝袜高跟| 日韩欧美一区二区久久婷婷| 91精品国产高清一区二区三区蜜臀 | 99精品黄色片免费大全| 成人免费va视频| 国产高清无密码一区二区三区| 免费在线观看视频一区| 亚洲品质自拍视频| 亚洲一区二区在线视频| 中文字幕在线一区| 国产精品美女久久久久aⅴ国产馆| 在线成人小视频| 精品乱人伦小说| 精品国产免费一区二区三区四区| 91精品在线免费| 欧美日韩中文另类| 日韩午夜激情视频| 日韩欧美成人一区| 欧美成人三级在线| 欧美系列日韩一区| 精品国产污污免费网站入口| 日韩精品在线网站| 国产日产亚洲精品系列| 久久亚洲春色中文字幕久久久| 国产丝袜美腿一区二区三区| 国产精品传媒视频| 亚洲精品免费一二三区| 日韩影视精彩在线| 精品一区二区三区久久| 国产精品香蕉一区二区三区| 麻豆久久久久久| 粉嫩av一区二区三区在线播放 | 亚洲欧美日韩中文字幕一区二区三区 | 国产制服丝袜一区| 岛国av在线一区| 欧美亚洲动漫精品| 久久综合久久综合久久| 亚洲人成网站精品片在线观看 | 日韩三级高清在线| 国产精品情趣视频| 日韩av网站免费在线| 不卡的av电影在线观看| 日韩一级黄色片| 亚洲欧美成人一区二区三区| 奇米精品一区二区三区在线观看| av在线播放成人| 日韩精品在线网站| 午夜精品久久久久久久久| 成人av在线资源网| 日韩免费观看2025年上映的电影| 亚洲欧美国产三级| 国产精品一区二区在线观看网站| 欧日韩精品视频| 国产精品每日更新| 国产一区二区毛片| 制服丝袜亚洲色图| 一区二区三区不卡在线观看| 国产1区2区3区精品美女| 欧美大度的电影原声| 亚洲午夜久久久久久久久久久| 成人黄色网址在线观看| 久久久久99精品国产片| 蜜桃精品在线观看| 欧美日韩三级在线| 亚洲宅男天堂在线观看无病毒| 成人丝袜高跟foot| 国产日韩欧美亚洲| 精品一区二区三区免费观看| 欧美一区二区高清| 午夜精品福利一区二区蜜股av| 91免费视频网| 国产精品国产三级国产| 国产成人免费视频| 国产亲近乱来精品视频| 国产综合色在线| 欧美精品一区二区三区视频 | 国产一区二区主播在线| 日韩一级免费观看| 秋霞电影网一区二区| 欧美精选一区二区| 五月天视频一区| 7777精品伊人久久久大香线蕉| 亚洲自拍偷拍欧美| 欧美色倩网站大全免费| 午夜精品福利视频网站| 制服丝袜亚洲色图| 久久精品国产99久久6| 精品国产免费久久| 国产一区福利在线| 中文字幕免费不卡| 99精品热视频| 一区二区三区在线视频观看58| 色天天综合色天天久久| 亚洲综合999| 在线综合视频播放| 麻豆一区二区99久久久久| 日韩欧美国产系列| 国产精品一区二区在线播放| 国产精品久久久久影院色老大| www.欧美日韩| 一区二区三区不卡视频在线观看| 欧美精品在线视频| 麻豆精品久久久| 久久久久久久综合| 99re热视频这里只精品| 亚洲国产精品精华液网站| 国产女主播在线一区二区| 91无套直看片红桃| 日日骚欧美日韩| 久久影音资源网| 91女人视频在线观看| 午夜精品在线看| 久久蜜桃av一区精品变态类天堂| 东方欧美亚洲色图在线| 一区二区三区四区亚洲| 欧美一区二区观看视频| 成人国产在线观看| 婷婷综合久久一区二区三区|