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); |
116 |
|
ByName('EMP_NO').AsInteger := 151; |
117 |
|
ByName('FIRST_NAME').AsString := 'Major'; |
118 |
|
ByName('PHONE_EXT').AsString := ''; |
119 |
< |
ByName('HIRE_DATE').AsDateTime := EncodeDate(2015,4,1);; |
119 |
> |
ByName('HIRE_DATE').AsString := '2015-4-1'; |
120 |
|
ByName('DEPT_NO').AsString := '600'; |
121 |
|
ByName('JOB_CODE').AsString := 'Eng'; |
122 |
|
ByName('JOB_GRADE').AsInteger := 4; |
123 |
|
ByName('JOB_COUNTRY').AsString := 'England'; |
124 |
< |
ByName('SALARY').AsFloat := 40000.59; |
124 |
> |
ByName('SALARY').AsString := '40000.59'; |
125 |
|
end; |
126 |
|
Statement.Execute; |
127 |
|
WriteAffectedRows(Statement); |
194 |
|
writeln(OutFile,'Same Statement - updated params'); |
195 |
|
Statement.GetSQLParams.ByName('EMP_NO').AsInteger := 9; |
196 |
|
ReportResults(Statement); |
197 |
+ |
|
198 |
+ |
writeln(outfile,'Test using Execute Block'); |
199 |
+ |
|
200 |
+ |
Transaction := Attachment.StartTransaction([isc_tpb_write,isc_tpb_nowait,isc_tpb_concurrency],taRollback); |
201 |
+ |
Statement := Attachment.PrepareWithNamedParameters(Transaction, |
202 |
+ |
'Execute Block (Hired Timestamp = :Hire_Date, empno integer = :EMP_NO) '+ |
203 |
+ |
'As Begin ' + |
204 |
+ |
' Update Employee Set Hire_Date = :Hired Where EMP_NO = :empno; '+ |
205 |
+ |
'End' |
206 |
+ |
,3); |
207 |
+ |
Statement.GetSQLParams.ByName('Hire_Date').AsDateTime := EncodeDate(2015,1,31);; |
208 |
+ |
Statement.GetSQLParams.ByName('EMP_NO').AsInteger := 8; |
209 |
+ |
Statement.Execute; |
210 |
+ |
WriteAffectedRows(Statement); |
211 |
+ |
Statement := Attachment.PrepareWithNamedParameters(Transaction,'Select * from EMPLOYEE Where EMP_NO = :EMP_NO',3); |
212 |
+ |
Statement.GetSQLParams.ByName('EMP_NO').AsInteger := 8; |
213 |
+ |
ReportResults(Statement); |
214 |
+ |
|
215 |
|
end; |
216 |
|
|
217 |
|
function TTest4.TestTitle: AnsiString; |
222 |
|
procedure TTest4.RunTest(CharSet: AnsiString; SQLDialect: integer); |
223 |
|
var Attachment: IAttachment; |
224 |
|
DPB: IDPB; |
225 |
+ |
S: TStrings; |
226 |
+ |
i: integer; |
227 |
|
begin |
228 |
|
DPB := FirebirdAPI.AllocateDPB; |
229 |
|
DPB.Add(isc_dpb_user_name).setAsString(Owner.GetUserName); |
230 |
|
DPB.Add(isc_dpb_password).setAsString(Owner.GetPassword); |
231 |
|
DPB.Add(isc_dpb_lc_ctype).setAsString(CharSet); |
232 |
|
DPB.Add(isc_dpb_set_db_SQL_dialect).setAsByte(SQLDialect); |
233 |
+ |
DPB.Add(isc_dpb_config).SetAsString('WireCompression=true'); |
234 |
|
|
235 |
|
writeln(OutFile,'Opening ',Owner.GetEmployeeDatabaseName); |
236 |
|
Attachment := FirebirdAPI.OpenDatabase(Owner.GetEmployeeDatabaseName,DPB); |
237 |
|
writeln(OutFile,'Database Open'); |
238 |
+ |
S := TStringList.Create; |
239 |
+ |
try |
240 |
+ |
Attachment.getFBVersion(S); |
241 |
+ |
for i := 0 to S.Count -1 do |
242 |
+ |
writeln(OutFile,S[i]); |
243 |
+ |
finally |
244 |
+ |
S.Free; |
245 |
+ |
end; |
246 |
|
DoQuery(Attachment); |
247 |
|
end; |
248 |
|
|