it seems that moveToCurrentRow(), first(), last(), etc. work after
insertRow(). But using absolute() to navigate some row else does not.
>From: Oliver Jowett <oliver@opencloud.com>
>To: jessica xingzc_he <xingzc_he@hotmail.com>
>CC: pgsql-jdbc@postgresql.org
>Subject: Re: [JDBC] deleteRow or updateRow after insertRow
>Date: Fri, 19 Nov 2004 15:14:51 +1300
>
>jessica xingzc_he wrote:
>
>>I do first:
>>ResultSet.moveToInsertRow();
>>ResultSet.update...(1, ...);
>>....
>>rs.insertRow(); // a new row inserted into table
>>
>>but after that, I may move to some other row, say using
>>Result.absolute(..) or so, and then
>>1. update
>>ResultSet.update...(1, ...);
>>...
>>ResultSet.updateRow(); // it does not update the corresponding row in the
>>table, but also no
>> exception thrown.
>>
>>2. delete
>>ResultSet.deleteRow(); // throws exception: Can not call deleteRow() when
>>on insert row.
>
>Both cases sound like the driver thinks you are on the insert row. Are you
>sure that you are navigating away from the insert row after calling
>insertRow() and are not returning to it for some reason?
>
>Does the problem still occur if you use the latest development driver? If
>so, do you have a testcase that demonstrates it?
>
>It looks like updateRow when on the insert row is handle incorrectly :we
>should throw an exception according to the javadoc, but we silently do
>nothing. I will fix this in the development driver shortly. It won't help
>your problem, though..
>
>-O