72 |
|
procedure ExecImmediate(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer); override; |
73 |
|
function Prepare(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer): IStatement; override; |
74 |
|
function PrepareWithNamedParameters(transaction: ITransaction; sql: AnsiString; |
75 |
< |
aSQLDialect: integer; GenerateParamNames: boolean=false): IStatement; override; |
75 |
> |
aSQLDialect: integer; GenerateParamNames: boolean=false; |
76 |
> |
CaseSensitiveParams: boolean=false): IStatement; override; |
77 |
|
|
78 |
|
{Events} |
79 |
|
function GetEventHandler(Events: TStrings): IEvents; override; |
98 |
|
{Database Information} |
99 |
|
function GetBlobMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IBlobMetaData; |
100 |
|
function GetArrayMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IArrayMetaData; |
101 |
+ |
procedure getFBVersion(version: TStrings); |
102 |
|
end; |
103 |
|
|
104 |
|
implementation |
106 |
|
uses FB30Transaction, FB30Statement, FB30Array, FB30Blob, FBMessages, |
107 |
|
FBOutputBlock, FB30Events, IBUtils; |
108 |
|
|
109 |
+ |
type |
110 |
+ |
{ TVersionCallback } |
111 |
+ |
|
112 |
+ |
TVersionCallback = class(Firebird.IVersionCallbackImpl) |
113 |
+ |
private |
114 |
+ |
FOutput: TStrings; |
115 |
+ |
public |
116 |
+ |
constructor Create(output: TStrings); |
117 |
+ |
procedure callback(status: Firebird.IStatus; text: PAnsiChar); override; |
118 |
+ |
end; |
119 |
+ |
|
120 |
+ |
{ TVersionCallback } |
121 |
+ |
|
122 |
+ |
constructor TVersionCallback.Create(output: TStrings); |
123 |
+ |
begin |
124 |
+ |
inherited Create; |
125 |
+ |
FOutput := output; |
126 |
+ |
end; |
127 |
+ |
|
128 |
+ |
procedure TVersionCallback.callback(status: Firebird.IStatus; text: PAnsiChar); |
129 |
+ |
begin |
130 |
+ |
FOutput.Add(text); |
131 |
+ |
end; |
132 |
+ |
|
133 |
+ |
|
134 |
|
{ TFB30Attachment } |
135 |
|
|
136 |
|
procedure TFB30Attachment.CheckHandle; |
308 |
|
end; |
309 |
|
|
310 |
|
function TFB30Attachment.PrepareWithNamedParameters(transaction: ITransaction; |
311 |
< |
sql: AnsiString; aSQLDialect: integer; GenerateParamNames: boolean): IStatement; |
311 |
> |
sql: AnsiString; aSQLDialect: integer; GenerateParamNames: boolean; |
312 |
> |
CaseSensitiveParams: boolean): IStatement; |
313 |
|
begin |
314 |
|
CheckHandle; |
315 |
|
Result := TFB30Statement.CreateWithParameterNames(self,transaction,sql,aSQLDialect, |
316 |
< |
GenerateParamNames); |
316 |
> |
GenerateParamNames,CaseSensitiveParams); |
317 |
|
end; |
318 |
|
|
319 |
|
function TFB30Attachment.GetEventHandler(Events: TStrings): IEvents; |
404 |
|
Result := TFB30ArrayMetaData.Create(self,Transaction as TFB30Transaction,tableName,columnName); |
405 |
|
end; |
406 |
|
|
407 |
+ |
procedure TFB30Attachment.getFBVersion(version: TStrings); |
408 |
+ |
var bufferObj: TVersionCallback; |
409 |
+ |
begin |
410 |
+ |
version.Clear; |
411 |
+ |
bufferObj := TVersionCallback.Create(version); |
412 |
+ |
try |
413 |
+ |
with FFirebird30ClientAPI do |
414 |
+ |
begin |
415 |
+ |
UtilIntf.getFbVersion(StatusIntf,FAttachmentIntf,bufferObj); |
416 |
+ |
Check4DataBaseError; |
417 |
+ |
end; |
418 |
+ |
finally |
419 |
+ |
bufferObj.Free; |
420 |
+ |
end; |
421 |
+ |
end; |
422 |
+ |
|
423 |
|
end. |
424 |
|
|