home *** CD-ROM | disk | FTP | other *** search
- unit Main;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, FMTBcd, Provider, SqlExpr, DB, DBClient, StdCtrls, DBXpress;
-
- type
- TfrmMain = class(TForm)
- sdsDemo: TSQLDataSet;
- SQLMonitor: TSQLMonitor;
- btnCreateSP: TButton;
- Memo: TMemo;
- btnExecSP: TButton;
- connDemo: TSQLConnection;
- btnDropSP: TButton;
- procedure btnCreateSPClick(Sender: TObject);
- procedure btnDropSPClick(Sender: TObject);
- procedure SQLMonitorLogTrace(Sender: TObject; CBInfo: pSQLTRACEDesc);
- procedure btnExecSPClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- frmMain: TfrmMain;
-
- implementation
-
- {$R *.dfm}
-
- procedure TfrmMain.btnCreateSPClick(Sender: TObject);
- begin
- connDemo.Open;
- connDemo.ExecuteDirect('create or replace function Add2(int4, int4) returns int4 as'
- + ' ''select $1 + $2'' language sql');
- end;
-
- procedure TfrmMain.btnDropSPClick(Sender: TObject);
- begin
- connDemo.Open;
- connDemo.ExecuteDirect('drop function Add2(int4, int4)')
- end;
-
- procedure TfrmMain.SQLMonitorLogTrace(Sender: TObject;
- CBInfo: pSQLTRACEDesc);
- begin
- if CBINfo.eTraceCat = TRACEcat(traceQEXECUTE) then
- Memo.Lines.Add('>> ' + AnsiString(CBInfo.pszTrace))
- else
- Memo.Lines.Add(AdjustLineBreaks(AnsiString(CBInfo.pszTrace)));
- Application.ProcessMessages;
- end;
-
- procedure TfrmMain.btnExecSPClick(Sender: TObject);
- begin
- connDemo.Open;
- sdsDemo.CommandType := ctStoredProc;
- sdsDemo.CommandText := 'Add2';
- sdsDemo.ParamByName('Arg1').Value := 2;
- sdsDemo.ParamByName('Arg2').Value := 2;
- sdsDemo.Open;
- Memo.Lines.Add('Result: ' + IntToStr(sdsDemo.ParamByName('Result').Value))
- end;
-
- procedure TfrmMain.FormCreate(Sender: TObject);
- begin
- SQLMonitor.Active := True
- end;
-
- end.
-