60 |
|
|
61 |
|
procedure TTest4.DoQuery(Attachment: IAttachment); |
62 |
|
var Transaction, Transaction2, Transaction3: ITransaction; |
63 |
< |
Statement: IStatement; |
63 |
> |
Statement, Statement2: IStatement; |
64 |
|
Rows: IResultSet; |
65 |
|
stats: TPerfCounters; |
66 |
|
begin |
73 |
|
Transaction.Rollback; |
74 |
|
Transaction.Start(TARollback); |
75 |
|
|
76 |
< |
Statement := Attachment.PrepareWithNamedParameters(Transaction,'Select * from EMPLOYEE Where EMP_NO = :EMP_NO',3); |
76 |
> |
Statement := Attachment.PrepareWithNamedParameters(Transaction,'Select * from EMPLOYEE Where EMP_NO = :F1',3); |
77 |
|
Statement.EnableStatistics(true); |
78 |
< |
Statement.GetSQLParams.ByName('EMP_NO').AsInteger := 8; |
78 |
> |
Statement.GetSQLParams.ByName('F1').AsInteger := 8; |
79 |
|
ReportResults(Statement); |
80 |
|
if Statement.GetPerfStatistics(stats) then |
81 |
|
WritePerfStats(stats); |
168 |
|
writeln(OutFile,'Employee Count = ', Attachment.OpenCursorAtStart(Transaction, |
169 |
|
'Select count(*) from EMPLOYEE',3)[0].AsInteger); |
170 |
|
|
171 |
+ |
Statement2 := Attachment.PrepareWithNamedParameters(Transaction,'Update EMPLOYEE Set FIRST_NAME = ''Jayne''''s'' Where EMP_NO = :EMP_NO',3); |
172 |
+ |
Statement2.GetSQLParams.ByName('EMP_NO').AsInteger := 150; |
173 |
+ |
writeln(OutFile,'Updating'); |
174 |
+ |
Statement2.Execute; |
175 |
+ |
WriteAffectedRows(Statement); |
176 |
+ |
|
177 |
|
writeln(OutFile,'Prepare Query again'); |
178 |
|
writeln(OutFile); |
179 |
|
Statement.Prepare; |
200 |
|
writeln(OutFile,'Same Statement - updated params'); |
201 |
|
Statement.GetSQLParams.ByName('EMP_NO').AsInteger := 9; |
202 |
|
ReportResults(Statement); |
203 |
+ |
|
204 |
+ |
writeln(outfile,'Test using Execute Block'); |
205 |
+ |
|
206 |
+ |
Transaction := Attachment.StartTransaction([isc_tpb_write,isc_tpb_nowait,isc_tpb_concurrency],taRollback); |
207 |
+ |
Statement := Attachment.PrepareWithNamedParameters(Transaction, |
208 |
+ |
'Execute Block (Hired Timestamp = :Hire_Date, empno integer = :EMP_NO) '+ |
209 |
+ |
'As Begin ' + |
210 |
+ |
' Update Employee Set Hire_Date = :Hired Where EMP_NO = :empno; '+ |
211 |
+ |
'End' |
212 |
+ |
,3); |
213 |
+ |
Statement.GetSQLParams.ByName('Hire_Date').AsDateTime := EncodeDate(2015,1,31);; |
214 |
+ |
Statement.GetSQLParams.ByName('EMP_NO').AsInteger := 8; |
215 |
+ |
Statement.Execute; |
216 |
+ |
WriteAffectedRows(Statement); |
217 |
+ |
Statement := Attachment.PrepareWithNamedParameters(Transaction,'Select * from EMPLOYEE Where EMP_NO = :EMP_NO',3); |
218 |
+ |
Statement.GetSQLParams.ByName('emp_no').AsInteger := 8; |
219 |
+ |
ReportResults(Statement); |
220 |
+ |
|
221 |
|
end; |
222 |
|
|
223 |
|
function TTest4.TestTitle: AnsiString; |
228 |
|
procedure TTest4.RunTest(CharSet: AnsiString; SQLDialect: integer); |
229 |
|
var Attachment: IAttachment; |
230 |
|
DPB: IDPB; |
231 |
+ |
S: TStrings; |
232 |
+ |
i: integer; |
233 |
|
begin |
234 |
|
DPB := FirebirdAPI.AllocateDPB; |
235 |
|
DPB.Add(isc_dpb_user_name).setAsString(Owner.GetUserName); |
236 |
|
DPB.Add(isc_dpb_password).setAsString(Owner.GetPassword); |
237 |
|
DPB.Add(isc_dpb_lc_ctype).setAsString(CharSet); |
238 |
|
DPB.Add(isc_dpb_set_db_SQL_dialect).setAsByte(SQLDialect); |
239 |
+ |
DPB.Add(isc_dpb_config).SetAsString('WireCompression=true'); |
240 |
|
|
241 |
|
writeln(OutFile,'Opening ',Owner.GetEmployeeDatabaseName); |
242 |
|
Attachment := FirebirdAPI.OpenDatabase(Owner.GetEmployeeDatabaseName,DPB); |
243 |
|
writeln(OutFile,'Database Open'); |
244 |
+ |
S := TStringList.Create; |
245 |
+ |
try |
246 |
+ |
Attachment.getFBVersion(S); |
247 |
+ |
for i := 0 to S.Count -1 do |
248 |
+ |
writeln(OutFile,S[i]); |
249 |
+ |
finally |
250 |
+ |
S.Free; |
251 |
+ |
end; |
252 |
|
DoQuery(Attachment); |
253 |
|
end; |
254 |
|
|