From: | "Joel Hock" <joel(at)enspire(dot)com> |
---|---|
To: | <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | insertRow and updateable resultset |
Date: | 2003-01-17 18:09:45 |
Message-ID: | BNEGKPDJEODNGBJKPJBPMELACBAA.joel@enspire.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
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 doesnt 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 Im using should return the generated
primary key from the database? Ive looked at the driver code
(AbstractJdbc2ResultSet.java) and couldnt see why this wasnt working.
Thanks,
Joel
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2003-01-17 18:25:32 | Re: Control characters in sql statements close db connection |
Previous Message | Barry Lind | 2003-01-17 17:52:03 | Re: Control characters in sql statements close db connection |