70 |
|
procedure ExecImmediate(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer); override; |
71 |
|
function Prepare(transaction: ITransaction; sql: AnsiString; aSQLDialect: integer): IStatement; override; |
72 |
|
function PrepareWithNamedParameters(transaction: ITransaction; sql: AnsiString; |
73 |
< |
aSQLDialect: integer; GenerateParamNames: boolean=false): IStatement; override; |
73 |
> |
aSQLDialect: integer; GenerateParamNames: boolean=false; |
74 |
> |
CaseSensitiveParams: boolean=false): IStatement; override; |
75 |
|
function GetEventHandler(Events: TStrings): IEvents; override; |
76 |
|
function CreateBlob(transaction: ITransaction; RelationName, ColumnName: AnsiString; BPB: IBPB=nil): IBlob; overload; |
77 |
|
function CreateBlob(transaction: ITransaction; BlobMetaData: IBlobMetaData; BPB: IBPB=nil): IBlob; overload; |
93 |
|
|
94 |
|
function GetBlobMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IBlobMetaData; |
95 |
|
function GetArrayMetaData(Transaction: ITransaction; tableName, columnName: AnsiString): IArrayMetaData; |
96 |
+ |
procedure getFBVersion(version: TStrings); |
97 |
|
end; |
98 |
|
|
99 |
|
implementation |
100 |
|
|
101 |
|
uses FB25Events,FB25Transaction, FBMessages, FB25Blob, |
102 |
< |
FB25Statement, FB25Array, IBUtils; |
102 |
> |
FB25Statement, FB25Array, IBUtils, IBExternals; |
103 |
|
|
104 |
|
{ TFB25Attachment } |
105 |
|
|
302 |
|
end; |
303 |
|
|
304 |
|
function TFB25Attachment.PrepareWithNamedParameters(transaction: ITransaction; |
305 |
< |
sql: AnsiString; aSQLDialect: integer; GenerateParamNames: boolean): IStatement; |
305 |
> |
sql: AnsiString; aSQLDialect: integer; GenerateParamNames: boolean; |
306 |
> |
CaseSensitiveParams: boolean): IStatement; |
307 |
|
begin |
308 |
|
CheckHandle; |
309 |
|
Result := TFB25Statement.CreateWithParameterNames(self,transaction,sql,aSQLDialect, |
310 |
< |
GenerateParamNames); |
310 |
> |
GenerateParamNames,CaseSensitiveParams); |
311 |
|
end; |
312 |
|
|
313 |
|
function TFB25Attachment.GetEventHandler(Events: TStrings): IEvents; |
360 |
|
Result := TFB25ArrayMetaData.Create(self,Transaction as TFB25Transaction,tableName,columnName); |
361 |
|
end; |
362 |
|
|
363 |
+ |
procedure ISCVersionCallback(userArg: pointer; text: PAnsiChar); cdecl; |
364 |
+ |
begin |
365 |
+ |
TStrings(userArg).Add(text); |
366 |
+ |
end; |
367 |
+ |
|
368 |
+ |
procedure TFB25Attachment.getFBVersion(version: TStrings); |
369 |
+ |
var callback: pointer; |
370 |
+ |
begin |
371 |
+ |
callback := @ISCVersionCallback; |
372 |
+ |
version.Clear; |
373 |
+ |
with FFirebird25ClientAPI do |
374 |
+ |
if isc_version(@FHandle,TISC_CALLBACK(callback),PVoid(version)) > 0 then |
375 |
+ |
IBDataBaseError; |
376 |
+ |
end; |
377 |
+ |
|
378 |
|
end. |
379 |
|
|