📄 unit1.~pas
字号:
{*陈星佐(email_chen)2005-4-30 }
{*QQ:29795113 }
{**************************************************************************}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, kbmMemTable, kbmMWStreamFormat, kbmMWBinaryStreamFormat, DB,
kbmMWCustomConnectionPool, kbmMWCustomDataset, kbmMWClientDataset,
kbmMWCustomTransport, kbmMWClient, kbmMWTCPIPIndyTransport, StdCtrls,
Grids, DBGrids, ExtCtrls, DBCtrls, ComCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
kbmMWTCPIPIndyClientTransport1: TkbmMWTCPIPIndyClientTransport;
kbmMWPooledSession1: TkbmMWPooledSession;
kbmMWClientConnectionPool1: TkbmMWClientConnectionPool;
kbmMWClientQuery1: TkbmMWClientQuery;
kbmMWBinaryStreamFormat1: TkbmMWBinaryStreamFormat;
DataSource1: TDataSource;
DBNavigator1: TDBNavigator;
Button2: TButton;
Label1: TLabel;
Edit2: TEdit;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
kbmMWClientQuery2: TkbmMWClientQuery;
DataSource2: TDataSource;
DataSource3: TDataSource;
kbmMWClientTransactionResolver1: TkbmMWClientTransactionResolver;
kbmMWClientQuery3: TkbmMWClientQuery;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure PageControl1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure kbmMWClientQueryResolveError(Sender: TObject;
ErrorType: Integer; Message: String; RecordID: Integer;
Current: Boolean; var Retry: Boolean);
procedure kbmMWClientQuery2AfterInsert(DataSet: TDataSet);
procedure kbmMWClientQuery3AfterInsert(DataSet: TDataSet);
private
{ Private declarations }
procedure RefreshDetail;
procedure RefreshDetailDetail;
procedure ResolveDataSet;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var
aReOpenQuery:TkbmMWClientQuery;
begin
with kbmMWTCPIPIndyClientTransport1 do
if Host<>trim(Edit2.Text) then
begin
Active:=False;
Host:=trim(Edit2.Text);
Active:=True;
end;
case PageControl1.ActivePageIndex+1 of
1: aReOpenQuery:=kbmMWClientQuery1;
2: aReOpenQuery:=kbmMWClientQuery2;
3: aReOpenQuery:=kbmMWClientQuery3;
end;
with aReOpenQuery do
begin
Close;
Open;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ResolveDataSet;
end;
procedure TForm1.PageControl1Change(Sender: TObject);
begin
ResolveDataSet;
case PageControl1.ActivePageIndex+1 of
1: DBNavigator1.DataSource:=DataSource1;
2: begin
DBNavigator1.DataSource:=DataSource2;
RefreshDetail;
end;
3: begin
DBNavigator1.DataSource:=DataSource3;
RefreshDetail;
RefreshDetailDetail;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
PageControl1.ActivePageIndex:=0 ;
DBNavigator1.DataSource:=DataSource1;
end;
procedure TForm1.RefreshDetail;
begin
with kbmMWClientQuery2 do
if ParamByName['CustomerID'].AsString<>kbmMWClientQuery1.FieldByName('CustomerID').AsString then
begin
Close;
ParamByName['CustomerID'].AsString:=kbmMWClientQuery1.FieldByName('CustomerID').AsString;
Open;
end;
end;
procedure TForm1.RefreshDetailDetail;
begin
with kbmMWClientQuery3 do
if ParamByName['OrderID'].AsString<>kbmMWClientQuery2.FieldByName('OrderID').AsString then
begin
Close;
ParamByName['OrderID'].AsString:=kbmMWClientQuery2.FieldByName('OrderID').AsString;
Open;
end;
end;
procedure TForm1.ResolveDataSet;
begin
kbmMWClientTransactionResolver1.Resolve([kbmMWClientQuery1,kbmMWClientQuery2,kbmMWClientQuery3]);
end;
procedure TForm1.kbmMWClientQueryResolveError(Sender: TObject;
ErrorType: Integer; Message: String; RecordID: Integer; Current: Boolean;
var Retry: Boolean);
begin
Showmessage(Message);
end;
procedure TForm1.kbmMWClientQuery2AfterInsert(DataSet: TDataSet);
begin
DataSet.FieldByName('CustomerID').AsString:=kbmMWClientQuery1.FieldByName('CustomerID').AsString;
end;
procedure TForm1.kbmMWClientQuery3AfterInsert(DataSet: TDataSet);
begin
DataSet.FieldByName('OrderID').AsString:=kbmMWClientQuery2.FieldByName('OrderID').AsString;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -