Icon View Incident Report

Serious Serious
Reported By: Ole Willy Tuv
Reported On: 4/7/2007
For: Version 1.03 Build 1
# 2318 View Cursors Not Refreshing Properly When Changes are Made to Underlying Tables

How is a prepared cursor supposed to work ?

I assumed that closing and reopening the cursor would refresh the result set, i.e. close and reopen the underlying query.

First I tried the following:

1. Prepare the cursor statement.
2. Open the cursor.
3. Iterate through the cursor.
4. Update the underlying table based on the current row values.
5. Close the cursor.
6. Open the cursor.

The second time the cursor was opened, it contained only 1 row - the last row from the original result.

Next I tried the following:

1. Prepare the cursor statement.
2. Open the cursor.
3. Iterate through the cursor.
4. Update the underlying table based on the current row values.
5. Close the cursor.
6. Prepare the cursor statement.
7. Open the cursor.

The second time the cursor was opened, it now contains exactly the same rows as the original result. The cursor was not refreshed.

Finally I tried the following:

1. Prepare the cursor statement.
2. Open the cursor.
3. Iterate through the cursor.
4. Update the underlying table based on the current row values.
5. Close the cursor.
6. Unprepare the cursor statement.
7. Prepare the cursor statement.
8. Open the cursor.

The second time the cursor was opened, the result set was refreshed and showed the updates.


Resolution Resolution
Fixed Problem on 4/26/2007 in version 1.03 build 1


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image