In addition to the conventional FETCH NEXT, the Informix interface supports FETCH FIRST, FETCH PRIOR, and FETCH LAST statements.
This cursor example illustrates how you can loop through a result set. Assume the default transaction object (SQLCA) has been assigned valid values and a successful CONNECT has been executed.
The statements retrieve rows from the employee table and then display a message box with the employee name in each row that is found.
// Declare the emp_curs DECLARE emp_curs CURSOR FOR SELECT emp_name FROM EMPLOYEE WHERE emp_state = :sle_1.text; // Declare a destination variable for employee // names. string emp_name_var // Get current value of sle_1.text. OPEN emp_curs; // Fetch the first row from the result set. FETCH emp_curs INTO :emp_name_var; // Loop through result set until exhausted DO WHILE SQLCA.sqlcode = 0 // Pop up a message box with the employee name MessageBox("Found an employee!",emp_name_var) // Fetch the next row from the result set FETCH emp_curs INTO :emp_name_var; LOOP // All done, so close the cursor CLOSE emp_curs;
Error checking Although you should test the SQLCode after every SQL statement, these examples show statements to test the SQLCode only to illustrate a specific point.