ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/runtime/IBSQL.pas
(Generate patch)

Comparing ibx/trunk/runtime/IBSQL.pas (file contents):
Revision 33 by tony, Sat Jul 18 12:30:52 2015 UTC vs.
Revision 39 by tony, Tue May 17 08:14:52 2016 UTC

# Line 35 | Line 35 | unit IBSQL;
35  
36   {$Mode Delphi}
37  
38 + {$IF FPC_FULLVERSION >= 20700 }
39 + {$codepage UTF8}
40 + {$ENDIF}
41 +
42   { IBSQL param names in dialect 3 quoted format (e.g. :"MyParam") are by default disabled.
43  
44   Dialect 3 quoted format parameter names represent a significant overhead and are of
# Line 328 | Line 332 | type
332    TIBSQL = class(TComponent)
333    private
334      FIBLoaded: Boolean;
335 +    FOnSQLChanged: TNotifyEvent;
336      FUniqueParamNames: Boolean;
337      function GetFieldCount: integer;
338      procedure SetUniqueParamNames(AValue: Boolean);
# Line 366 | Line 371 | type
371      procedure SetSQL(Value: TStrings);
372      procedure SetTransaction(Value: TIBTransaction);
373      procedure SQLChanging(Sender: TObject);
374 +    procedure SQLChanged(Sender: TObject);
375      procedure BeforeTransactionEnd(Sender: TObject; Action: TTransactionAction);
376    public
377      constructor Create(AOwner: TComponent); override;
# Line 412 | Line 418 | type
418      property SQL: TStrings read FSQL write SetSQL;
419      property Transaction: TIBTransaction read GetTransaction write SetTransaction;
420      property OnSQLChanging: TNotifyEvent read FOnSQLChanging write FOnSQLChanging;
421 +    property OnSQLChanged: TNotifyEvent read FOnSQLChanged write FOnSQLChanged;
422    end;
423  
424   implementation
# Line 2137 | Line 2144 | end;
2144  
2145   { TIBSQL }
2146   constructor TIBSQL.Create(AOwner: TComponent);
2147 + var  GUID : TGUID;
2148   begin
2149    inherited Create(AOwner);
2150    FIBLoaded := False;
# Line 2153 | Line 2161 | begin
2161    FRecordCount := 0;
2162    FSQL := TStringList.Create;
2163    TStringList(FSQL).OnChanging := SQLChanging;
2164 +  TStringList(FSQL).OnChange := SQLChanged;
2165    FProcessedSQL := TStringList.Create;
2166    FHandle := nil;
2167    FSQLParams := TIBXSQLDA.Create(self,daInput);
2168    FSQLRecord := TIBXSQLDA.Create(self,daOutput);
2169    FSQLType := SQLUnknown;
2170    FParamCheck := True;
2171 <  FCursor := HexStr(self); //Name + RandomString(8);
2171 >  CreateGuid(GUID);
2172 >  FCursor := GUIDToString(GUID);
2173    if AOwner is TIBDatabase then
2174      Database := TIBDatabase(AOwner)
2175    else
# Line 2816 | Line 2826 | begin
2826    if FHandle <> nil then FreeHandle;
2827   end;
2828  
2829 + procedure TIBSQL.SQLChanged(Sender: TObject);
2830 + begin
2831 +  if assigned(OnSQLChanged) then
2832 +    OnSQLChanged(self);
2833 + end;
2834 +
2835   procedure TIBSQL.BeforeTransactionEnd(Sender: TObject;
2836    Action: TTransactionAction);
2837   begin

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines