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

Comparing ibx/trunk/fbintf/testsuite/Test4.pas (file contents):
Revision 59 by tony, Mon Mar 13 09:51:56 2017 UTC vs.
Revision 270 by tony, Fri Jan 18 11:10:37 2019 UTC

# Line 60 | Line 60 | implementation
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
# Line 73 | Line 73 | 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);
# Line 168 | Line 168 | begin
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;
# Line 194 | Line 200 | begin
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;
# Line 204 | Line 228 | end;
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  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines