![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
JDBC Driver : PostgreSQL 7.4 (Build 213) I am having an issue with the driver when I do a deleteRow using a ResultSet record. It skips records. For example, if I have seven records and I select all of them in a ResultSet, spin through each one and call deleteRow() the result is wrong. The 1st, 3rd, 5th, and 7th records are deleted, but the others are not. |
#2
| |||
| |||
|
|
On Tue, 8 Jun 2004 ChristopherPesarchick (AT) westfieldgrp (DOT) com wrote: JDBC Driver : PostgreSQL 7.4 (Build 213) I am having an issue with the driver when I do a deleteRow using a ResultSet record. It skips records. For example, if I have seven records and I select all of them in a ResultSet, spin through each one and call deleteRow() the result is wrong. The 1st, 3rd, 5th, and 7th records are deleted, but the others are not. Behind the scenes the rows are stored in a Vector and there is an "int current_row" pointer to the current row. The problem is that when a row is deleted from the Vector, how should the current_row value be adjusted? Currently nothing happens so current_row effectively points to the next row so that when next() is called that row is skipped. Simply decrementing current_row on a delete won't work because it introduces the exact same problem except with previous(). When I looked at this problem before I wanted to see if a cleaner solution presented itself than adding a new variable like "boolean onDeletedRow" that would need to be checked or reset in a significant number of places, but perhaps that's the only way to go. |
![]() |
| Thread Tools | |
| Display Modes | |
| |