home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 May / CMCD0505.ISO / Software / Shareware / Programare / pgedri / Source / Demos / StoredProcs / Main.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2005-04-01  |  1.9 KB  |  76 lines

  1. unit Main;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, FMTBcd, Provider, SqlExpr, DB, DBClient, StdCtrls, DBXpress;
  8.  
  9. type
  10.   TfrmMain = class(TForm)
  11.     sdsDemo: TSQLDataSet;
  12.     SQLMonitor: TSQLMonitor;
  13.     btnCreateSP: TButton;
  14.     Memo: TMemo;
  15.     btnExecSP: TButton;
  16.     connDemo: TSQLConnection;
  17.     btnDropSP: TButton;
  18.     procedure btnCreateSPClick(Sender: TObject);
  19.     procedure btnDropSPClick(Sender: TObject);
  20.     procedure SQLMonitorLogTrace(Sender: TObject; CBInfo: pSQLTRACEDesc);
  21.     procedure btnExecSPClick(Sender: TObject);
  22.     procedure FormCreate(Sender: TObject);
  23.   private
  24.     { Private declarations }
  25.   public
  26.     { Public declarations }
  27.   end;
  28.  
  29. var
  30.   frmMain: TfrmMain;
  31.  
  32. implementation
  33.  
  34. {$R *.dfm}
  35.  
  36. procedure TfrmMain.btnCreateSPClick(Sender: TObject);
  37. begin
  38.   connDemo.Open;
  39.   connDemo.ExecuteDirect('create or replace function Add2(int4, int4) returns int4 as'
  40.     + ' ''select $1 + $2'' language sql');
  41. end;
  42.  
  43. procedure TfrmMain.btnDropSPClick(Sender: TObject);
  44. begin
  45.   connDemo.Open;
  46.   connDemo.ExecuteDirect('drop function Add2(int4, int4)')
  47. end;
  48.  
  49. procedure TfrmMain.SQLMonitorLogTrace(Sender: TObject;
  50.   CBInfo: pSQLTRACEDesc);
  51. begin
  52.   if CBINfo.eTraceCat = TRACEcat(traceQEXECUTE) then
  53.     Memo.Lines.Add('>> ' + AnsiString(CBInfo.pszTrace))
  54.   else
  55.     Memo.Lines.Add(AdjustLineBreaks(AnsiString(CBInfo.pszTrace)));
  56.   Application.ProcessMessages;  
  57. end;
  58.  
  59. procedure TfrmMain.btnExecSPClick(Sender: TObject);
  60. begin
  61.   connDemo.Open;
  62.   sdsDemo.CommandType := ctStoredProc;
  63.   sdsDemo.CommandText := 'Add2';
  64.   sdsDemo.ParamByName('Arg1').Value := 2;
  65.   sdsDemo.ParamByName('Arg2').Value := 2;
  66.   sdsDemo.Open;
  67.   Memo.Lines.Add('Result: ' + IntToStr(sdsDemo.ParamByName('Result').Value))
  68. end;
  69.  
  70. procedure TfrmMain.FormCreate(Sender: TObject);
  71. begin
  72.   SQLMonitor.Active := True
  73. end;
  74.  
  75. end.
  76.