cancel
Showing results for 
Search instead for 
Did you mean: 

Iterate through a DB query

SOLVED
Occasional Contributor

Iterate through a DB query

 Morning all,

 

A bit of background first.

I have a group of projects, that was essetially the same project cloned, but ran with different SQL queries and counts via Jenkins. With nearly 14 almost identical projects, updating the code with improvements is a big overhead so i have altered my Jenkins input to pass in a parameter to one script and that then runs the specified DB Query, therefore meaning i only need to update one script base code rather than 14. Only issue i have is that since the row count changes dependant on the querry the count in the project Test Items is hard coded and from investigation appears that setting it via a variable isn't a current feature of TC.

 

Therefore i have needed to go back and stack the scripts and place them in a loop.

 

The Jenkins process calls a temp variable dependant on what was requested and then writes that to another temp variable for the rest of the scripts to reference.

 

In a  simple example;

In Jenkins, Test System A is selected to run and Jenkins passes the parameter to TC which tkaes the relevant DB Table Query, 'DriverA' and copies that to 'Driver'.

 

I am trying to write a loop to run through all the data held within the query, but i cannot figure out how to either read the temp variable 'Driver' or do i need to call it and build the ADO.Driver at the start of the loop and using the temp variables won't work?

 

Any help or advice where to look would be appreciated.

 

Also all my code is written in Delphi (legacy decision out of my hands)

1 ACCEPTED SOLUTION

Accepted Solutions
Occasional Contributor

Re: Iterate through a DB query

I have solved it. A simple misuse of EOF and i needed to use IsEOF

 

function ADODriverExampleNew(Driver);
begin
While Not Driver.IsEOF() do
begin
{Scripts}
Driver.Next;
end;
end;

1 REPLY 1
Occasional Contributor

Re: Iterate through a DB query

I have solved it. A simple misuse of EOF and i needed to use IsEOF

 

function ADODriverExampleNew(Driver);
begin
While Not Driver.IsEOF() do
begin
{Scripts}
Driver.Next;
end;
end;

New Here?
Join us and watch the welcome video:
Watch the New Interview
APITestingMistake#2