Joel,
Is the primary key a "serial" type, as Barry mentioned send us your
schema for that table.
It should work correctly. You may have to do a setNull on the primary
key column.
Dave
On Fri, 2003-01-17 at 13:09, Joel Hock wrote:
> All of this pertains to PostgreSQL 7.1.3 and the jdbc3 development
> driver that I downloaded today and also the stable driver.
>
>
>
> I am using an updateable ResultSet and insertRow() to insert a row,
> which works fine.
>
> I then do a refreshRow() and try to retrieve the auto-generated
> primary key, which doesn’t work. I just get back a null value. I am
> currently using the oid to re-select the row as a workaround, but want
> a database-independent way of getting the key.
>
>
>
> Sample code:
>
>
>
> ResultSet uprs = stmt.executeQuery("SELECT * FROM login WHERE 1=0");
>
> uprs.moveToInsertRow();
>
> uprs.updateObject(“email”, email);
>
> uprs.insertRow();
>
> uprs.next();
>
> uprs.refreshRow();
>
> String loginId = uprs.getString(); // returns null
>
>
>
> Note that the same thing happens if I leave out the ‘uprs.next()’.
> (As an aside, this is a bug because the refreshRow() should fail if
> next() is not called; the java docs state that refreshRow() should
> fail on the insert row).
>
>
>
>
>
> Can anyone confirm that the code I’m using should return the generated
> primary key from the database? I’ve looked at the driver code
> (AbstractJdbc2ResultSet.java) and couldn’t see why this wasn’t
> working.
>
>
>
> Thanks,
>
> Joel
--
Dave Cramer <Dave@micro-automation.net>