Componentes.Terceros.SDAC/internal/4.10.0.10/1/Demos/Win32/ThirdParty/IntraWeb/IW7/uQuery.pas
2007-10-05 14:48:18 +00:00

232 lines
6.0 KiB
ObjectPascal

unit uQuery;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uBase, IWCompLabel, IWControl, IWCompRectangle, IWHTMLControls,
IWGrids, IWDBGrids, IWCompMemo, IWDBStdCtrls, IWCompButton, DB, MyAccess,
MemDS, DBAccess, IWTemplateProcessorHTML,
IWContainer, IWRegion, IWLayoutMgrHTML, IWCompCheckbox, ExtCtrls,
IWExtCtrls, IWHTMLTag, IWVCLBaseContainer, IWHTMLContainer, IWVCLBaseControl,
IWBaseControl, IWBaseHTMLControl, MSAccess;
type
TfmQuery = class(TfmBase)
IWLabel1: TIWLabel;
IWLabel2: TIWLabel;
IWDBNavigator: TIWDBNavigator;
lbResult: TIWLabel;
btOpen: TIWButton;
Query: TMSQuery;
DataSource: TDataSource;
IWRegion1: TIWRegion;
IWRegion2: TIWRegion;
IWDBGrid: TIWDBGrid;
IWRectangle1: TIWRectangle;
IWRectangle2: TIWRectangle;
IWRegion3: TIWRegion;
meSQL: TIWMemo;
IWRegion4: TIWRegion;
IWRectangle3: TIWRectangle;
btClose: TIWButton;
procedure IWAppFormCreate(Sender: TObject);
procedure btOpenClick(Sender: TObject);
procedure IWAppFormRender(Sender: TObject);
procedure IWDBNavigatorRefresh(Sender: TObject);
procedure btCloseClick(Sender: TObject);
protected
procedure ReadFromControls; override;
end;
var
fmQuery: TfmQuery;
implementation
{$R *.dfm}
uses
ServerController, IWForm;
procedure TfmQuery.IWAppFormCreate(Sender: TObject);
begin
inherited;
Query.Connection := DM.Connection;
end;
procedure TfmQuery.btOpenClick(Sender: TObject);
begin
ReadFromControls;
Query.SQL.Text := UserSession.QuerySQL;
IWDBGrid.Columns.Clear;
UserSession.isGoodQuery := False;
try
Query.Execute;
UserSession.isGoodQuery := True;
if Query.Active then
UserSession.QueryResult := 'Result'
else
if Query.RowsAffected >= 0 then
UserSession.QueryResult := IntToStr(Query.RowsAffected) + ' rows affected'
else
UserSession.QueryResult := 'Executed';
except
on E:Exception do
UserSession.QueryResult := 'Error: '+ E.Message;
end;
end;
procedure TfmQuery.btCloseClick(Sender: TObject);
begin
ReadFromControls;
UserSession.isGoodQuery := False;
try
IWDBGrid.Columns.Clear;
Query.Close;
UserSession.isGoodQuery := True;
UserSession.QueryResult := ''
except
on E:Exception do
UserSession.QueryResult := 'Error: '+ E.Message;
end;
end;
procedure TfmQuery.IWAppFormRender(Sender: TObject);
begin
inherited;
meSQL.Lines.Text := UserSession.QuerySQL;
IWDBGrid.Visible := UserSession.isGoodQuery and Query.Active;
IWDBNavigator.Enabled := IWDBGrid.Visible;
lbResult.Font.Color := ResultColors[UserSession.IsGoodQuery];
lbResult.Caption := UserSession.QueryResult;
end;
procedure TfmQuery.ReadFromControls;
begin
inherited;
UserSession.QuerySQL := meSQL.Lines.Text;
end;
procedure TfmQuery.IWDBNavigatorRefresh(Sender: TObject);
begin
ReadFromControls;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uBase, IWCompLabel, IWControl, IWCompRectangle, IWHTMLControls,
IWGrids, IWDBGrids, IWCompMemo, IWDBStdCtrls, IWCompButton, DB, MyAccess,
MemDS, DBAccess, IWTemplateProcessorHTML,
IWContainer, IWRegion, IWLayoutMgrHTML, IWCompCheckbox, ExtCtrls,
IWExtCtrls, IWHTMLTag, IWVCLBaseContainer, IWHTMLContainer, IWVCLBaseControl,
IWBaseControl, IWBaseHTMLControl, MSAccess;
type
TfmQuery = class(TfmBase)
IWLabel1: TIWLabel;
IWLabel2: TIWLabel;
IWDBNavigator: TIWDBNavigator;
lbResult: TIWLabel;
btOpen: TIWButton;
Query: TMSQuery;
DataSource: TDataSource;
IWRegion1: TIWRegion;
IWRegion2: TIWRegion;
IWDBGrid: TIWDBGrid;
IWRectangle1: TIWRectangle;
IWRectangle2: TIWRectangle;
IWRegion3: TIWRegion;
meSQL: TIWMemo;
IWRegion4: TIWRegion;
IWRectangle3: TIWRectangle;
btClose: TIWButton;
procedure IWAppFormCreate(Sender: TObject);
procedure btOpenClick(Sender: TObject);
procedure IWAppFormRender(Sender: TObject);
procedure IWDBNavigatorRefresh(Sender: TObject);
procedure btCloseClick(Sender: TObject);
protected
procedure ReadFromControls; override;
end;
var
fmQuery: TfmQuery;
implementation
{$R *.dfm}
uses
ServerController, IWForm;
procedure TfmQuery.IWAppFormCreate(Sender: TObject);
begin
inherited;
Query.Connection := DM.Connection;
end;
procedure TfmQuery.btOpenClick(Sender: TObject);
begin
ReadFromControls;
Query.SQL.Text := UserSession.QuerySQL;
IWDBGrid.Columns.Clear;
UserSession.isGoodQuery := False;
try
Query.Execute;
UserSession.isGoodQuery := True;
if Query.Active then
UserSession.QueryResult := 'Result'
else
if Query.RowsAffected >= 0 then
UserSession.QueryResult := IntToStr(Query.RowsAffected) + ' rows affected'
else
UserSession.QueryResult := 'Executed';
except
on E:Exception do
UserSession.QueryResult := 'Error: '+ E.Message;
end;
end;
procedure TfmQuery.btCloseClick(Sender: TObject);
begin
ReadFromControls;
UserSession.isGoodQuery := False;
try
IWDBGrid.Columns.Clear;
Query.Close;
UserSession.isGoodQuery := True;
UserSession.QueryResult := ''
except
on E:Exception do
UserSession.QueryResult := 'Error: '+ E.Message;
end;
end;
procedure TfmQuery.IWAppFormRender(Sender: TObject);
begin
inherited;
meSQL.Lines.Text := UserSession.QuerySQL;
IWDBGrid.Visible := UserSession.isGoodQuery and Query.Active;
IWDBNavigator.Enabled := IWDBGrid.Visible;
lbResult.Font.Color := ResultColors[UserSession.IsGoodQuery];
lbResult.Caption := UserSession.QueryResult;
end;
procedure TfmQuery.ReadFromControls;
begin
inherited;
UserSession.QuerySQL := meSQL.Lines.Text;
end;
procedure TfmQuery.IWDBNavigatorRefresh(Sender: TObject);
begin
ReadFromControls;
end;
end.