{ 這裡的多線程同步查詢演示程序僅包括一個工程文件和一個單元文件 }
{ 窗體中放置的組件有: }
{ 兩個Session組件 }
{ 兩個Database組件 }
{ 兩個Query組件 }
{ 兩個DataSource組件 }
{ 兩個DBGrid組件 }
{ 一個Button組件 }
{ 除非特別說明,否則上述各組件的屬性都取默認值(見各組件注釋) }
{ 對於Database組件,就和一般設置一樣,有一個正確的連接即可 }
{ 對於Query 組件,需要在各自的屬性 SQL中添加一些查詢語句,為了 }
{ 看得更清除,建議不要在兩個Query 組件中填寫相同的查詢語句。 }
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, StdCtrls;
type
TForm1 = class(TForm)
Session1: TSession; { 屬性SessionName填寫為S1 }
Database1: TDatabase; { 屬性SessionName選擇為S1 }
Query1: TQuery;{ 屬性Database選擇為Database1;屬性SessionName選擇為S1 }
DataSource1: TDataSource; { 屬性DataSet設置為空 }
DBGrid1: TDBGrid; { 屬性DataSource選擇為DataSource1 }
Session2: TSession; { 屬性SessionName填寫為S2 }
Database2: TDatabase; { 屬性SessionName選擇為S2 }
Query2: TQuery;{ 屬性Database選擇為Database2;屬性SessionName選擇為S2 }
DataSource2: TDataSource; { 屬性DataSet設置為空 }
DBGrid2: TDBGrid; { 屬性DataSource選擇為DataSource2 }
BtnGoPause: TButton; { 用於執行和掛起線程 }
procedure FormCreate(Sender: TObject); { 創建窗體時創建線程對象 }
procedure FormDestroy(Sender: TObject); { 銷毀窗體時銷毀線程對象 }
procedure BtnGoPauseClick(Sender: TObject); { 執行線程和掛起線程 }