Using a cursor in embedded SQL is different than using a cursor in other interfaces.
Prepare and execute a statement.
Execute a statement using the usual method for the interface. You can prepare and then execute the statement, or you can execute the statement directly.
With ADO.NET, only the SACommand.ExecuteReader method returns a cursor. It provides a read-only, forward-only cursor.
Test to see if the statement returns a result set.
A cursor is implicitly opened when a statement that creates a result set is executed. When the cursor is opened, it is positioned before the first row of the result set.
Although simple fetch operations move the cursor to the next row in the result set, SQL Anywhere permits more complicated movement around the result set.
Close the cursor.
When you have finished with the cursor, close it to free associated resources.
Free the statement.
If you used a prepared statement, free it to reclaim memory.
Prepare a statement.
Cursors generally use a statement handle rather than a string. You need to prepare a statement to have a handle available.
For information about preparing a statement, see Preparing statements.
Declare the cursor.
Each cursor refers to a single SELECT or CALL statement. When you declare a cursor, you state the name of the cursor and the statement it refers to.
For more information, see DECLARE CURSOR statement [ESQL] [SP].
Open the cursor. See OPEN statement [ESQL] [SP].
In the case of a CALL statement, opening the cursor executes the procedure up to the point where the first row is about to be obtained.
Although simple fetch operations move the cursor to the next row in the result set, SQL Anywhere permits more complicated movement around the result set. How you declare the cursor determines which fetch operations are available to you. See FETCH statement [ESQL] [SP] and Fetching data.
Close the cursor.
When you have finished with the cursor, close it. This frees any resources associated with the cursor. See CLOSE statement [ESQL] [SP].
Drop the statement.
To free the memory associated with the statement, you must drop the statement. See DROP STATEMENT statement [ESQL].
For more information about using cursors in embedded SQL, see Fetching data.
In some cases, the interface library may undertake performance optimizations internally (such as prefetching results), so these steps in the client application may not correspond exactly to software operations.
|Discuss this page in DocCommentXchange.
Send feedback about this page using email.
|Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1|