【delphi开源代码栏目提醒】:网学会员为需要delphi开源代码的朋友们搜集整理了fmDemo1Main.pas相关资料,希望对各位网友有所帮助!
unit fmDemo1Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, DB, StdCtrls, Mask, Buttons,
ComCtrls, DBClient, DBXpress;
type
TfrmMain = class(TForm)
dsBooks: TDataSource;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
Panel1: TPanel;
Label1: TLabel;
DBEdit1: TDBEdit;
dsPublishers: TDataSource;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
DBEdit3: TDBEdit;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
BitBtn1: TBitBtn;
Label7: TLabel;
DBEdit7: TDBEdit;
dsAuthor: TDataSource;
StatusBar1: TStatusBar;
dsDelta: TDataSource;
cdsDelta: TClientDataSet;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
DBNavigator2: TDBNavigator;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
DBNavigator3: TDBNavigator;
dsData: TDataSource;
cdsData: TClientDataSet;
TabSheet3: TTabSheet;
mmTrace: TMemo;
DBNavigator4: TDBNavigator;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure ShowChangeCount;
procedure ShowDelta(const ovDelta : OleVariant);
procedure ShowData(const ovData : OleVariant);
end;
var
frmMain: TfrmMain;
implementation
uses udmDemo1;
{$R *.dfm}
{ TfrmMain }
procedure TfrmMain.BitBtn1Click(Sender: TObject);
var
aTD: TTransactionDesc;
begin
if (not dmDemo1.scnnDemo.InTransaction) then
begin
aTD.TransactionID := 1;
aTD.IsolationLevel := xilREADCOMMITTED;
dmDemo1.scnnDemo.StartTransaction(aTD);
try
if (dmDemo1.cdsBooks.ChangeCount > 0) then
dmDemo1.cdsBooks.ApplyUpdates(0);
if (dmDemo1.cdsPublishers.ChangeCount > 0) then
dmDemo1.cdsPublishers.ApplyUpdates(0);
dmDemo1.scnnDemo.Commit(aTD);
except
on e: Exception do
begin
ShowMessage(e.message);
dmDemo1.scnnDemo.Rollback(aTD);
end;
end;
end;
ShowChangeCount;
end;
procedure TfrmMain.ShowChangeCount;
begin
StatusBar1.Panels[0].Text :=
'目前被变更的数据笔数:' +
IntToStr(dmDemo1.cdsBooks.ChangeCount);
StatusBar1.Panels[1].Text :=
'出版商被变更的数据笔数:' + IntToStr(dmDemo1.cdsPublishers.ChangeCount);
end;
procedure TfrmMain.ShowData(const ovData: OleVariant);
begin
cdsData.DisableControls;
try
cdsData.Data := ovData;
finally
cdsData.EnableControls;
end;
end;
procedure TfrmMain.ShowDelta(const ovDelta: OleVariant);
begin
cdsDelta.DisableControls;
try
cdsDelta.Data := ovDelta;
finally
cdsDelta.EnableControls;
end;
end;
end.