home *** CD-ROM | disk | FTP | other *** search
- {*******************************************************************}
- { }
- { Vita Voom Software }
- { Main.pas unit - PGEDemo Demo }
- { }
- { Copyright (c) 1998-2003 Vita Voom Software }
- { ALL RIGHTS RESERVED }
- {*******************************************************************}
- { }
- { Please refer to the Readme.txt file for details. }
- { }
- unit Main;
-
- interface
-
- uses
- SysUtils, Classes, DBXpress, Provider, SqlExpr, FMTBcd, DBClient, DB,
- {$IF Defined(VER140) or Defined(VER150)}
- DBLocal,
- {$IFEND}
- Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls,
- Grids, DBGrids, DBCtrls;
-
- type
- TfrmDemo = class(TForm)
- dsDemo: TDataSource;
- Grid: TDBGrid;
- btnConnect: TButton;
- btnApplyUpdates: TButton;
- SQLMonitor: TSQLMonitor;
- Memo1: TMemo;
- Label1: TLabel;
- btnRun: TButton;
- StatusBar: TStatusBar;
- connDemo: TSQLConnection;
- Panel2: TPanel;
- Label3: TLabel;
- cdsDemo: TClientDataSet;
- sdsDemo: TSQLDataSet;
- dpDemo: TDataSetProvider;
- btnCancelUpdates: TButton;
- DBNavigator1: TDBNavigator;
- Panel1: TPanel;
- Label2: TLabel;
- SQLLog: TMemo;
- Label4: TLabel;
- procedure btnRunClick(Sender: TObject);
- procedure connDemoAfterConnect(Sender: TObject);
- procedure connDemoAfterDisconnect(Sender: TObject);
- procedure btnConnectClick(Sender: TObject);
- procedure btnApplyUpdatesClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure connDemoLogin(Database: TSQLConnection;
- LoginParams: TStrings);
- procedure btnCancelUpdatesClick(Sender: TObject);
- procedure SQLMonitorLogTrace(Sender: TObject; CBInfo: pSQLTRACEDesc);
- procedure cdsDemoReconcileError(DataSet: TCustomClientDataSet;
- E: EReconcileError; UpdateKind: TUpdateKind;
- var Action: TReconcileAction);
- procedure dsDemoUpdateData(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- frmDemo: TfrmDemo;
-
- implementation
-
- uses
- Reconcile;
-
- {$R *.dfm}
-
- procedure TfrmDemo.btnRunClick(Sender: TObject);
- begin
- connDemo.LoadParamsFromIniFile;
- with sdsDemo do
- begin
- CommandText := Memo1.Lines.Text;
- CommandType := ctQuery;
- end;
- with cdsDemo do
- begin
- Close;
- Open;
- Edit;
- end;
- StatusBar.Panels[0].Text := 'Query sucessfully executed.';
- Self.FocusControl(Grid);
- end;
-
- procedure TfrmDemo.connDemoAfterConnect(Sender: TObject);
- begin
- btnConnect.Caption := 'Disconnect';
- end;
-
- procedure TfrmDemo.connDemoAfterDisconnect(Sender: TObject);
- begin
- if btnConnect <> nil then
- btnConnect.Caption := 'Connect';
- end;
-
- procedure TfrmDemo.btnConnectClick(Sender: TObject);
- begin
- with connDemo do
- begin
- Connected := not Connected;
- if Connected then
- StatusBar.Panels[0].Text := 'Connected to the database.'
- else
- begin
- cdsDemo.Close;
- StatusBar.Panels[0].Text := 'Disconnected from the database.';
- end;
- end;
- end;
-
- procedure TfrmDemo.btnApplyUpdatesClick(Sender: TObject);
- var
- Errors: Integer;
- begin
- Errors := cdsDemo.ApplyUpdates(-1);
- if Errors > 0 then
- ShowMessage(Format('There were %d errors updating the dataset.', [Errors]));
- dsDemoUpdateData(Sender)
- end;
-
- procedure TfrmDemo.FormCreate(Sender: TObject);
- begin
- SQLMonitor.Active := True;
- StatusBar.Panels[0].Text := 'Program is ready.';
- end;
-
- procedure TfrmDemo.connDemoLogin(Database: TSQLConnection;
- LoginParams: TStrings);
- begin
- //
- end;
-
- procedure TfrmDemo.btnCancelUpdatesClick(Sender: TObject);
- begin
- cdsDemo.CancelUpdates;
- dsDemoUpdateData(Sender)
- end;
-
- procedure TfrmDemo.SQLMonitorLogTrace(Sender: TObject;
- CBInfo: pSQLTRACEDesc);
- begin
- if CBINfo.eTraceCat = TRACEcat(traceQEXECUTE) then
- SQLLog.Lines.Add('>> ' + AnsiString(CBInfo.pszTrace))
- else
- SQLLog.Lines.Add(AdjustLineBreaks(AnsiString(CBInfo.pszTrace)));
- end;
-
- procedure TfrmDemo.cdsDemoReconcileError(DataSet: TCustomClientDataSet;
- E: EReconcileError; UpdateKind: TUpdateKind;
- var Action: TReconcileAction);
- begin
- Action := HandleReconcileError(DataSet, UpdateKind, E);
- end;
-
- procedure TfrmDemo.dsDemoUpdateData(Sender: TObject);
- begin
- btnApplyUpdates.Enabled := cdsDemo.ChangeCount > 0;
- btnCancelUpdates.Enabled := btnApplyUpdates.Enabled
- end;
-
- end.
-