减小字体
增大字体
{ 这里的多线程同步查询演示程序仅包括一个工程文件和一个单元文件 } { 窗体中放置的组件有: } { 两个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); { 执行线程和挂起线程 }
|