не?
file:///usr/share/doc/sun-java6-doc/html/api/java/sql/Statement.html#getGenerat
edKeys()
getGeneratedKeys
ResultSet getGeneratedKeys()
throws SQLException
Retrieves any auto-generated keys created as a result of executing this Statement object. If this Statement object did not generate any keys, an empty ResultSet object is returned.
Note:If the columns which represent the auto-generated keys were not specified, the JDBC driver implementation will determine the columns which best represent the auto-generated keys.
Returns:
a ResultSet object containing the auto-generated key(s) generated by the execution of this Statement object
ps. не ржать над ссылкой на лохалкост!
спасибо.
я правда долго втыкал как это юзаеццо, вот решение:
1. поскольку у меня все на PreparedStatement то нужно передать вторым параметром PreparedStatement.RETURN_GENERATED_KEYS
2. сделать getGeneratedKeys
3. перейти на первую запись (ибо по умолчанию оно стоит на передпервой)
4. сделать getInt(1)
НИчего интерпрайзного, 3 вполне обычный пункт для рекордсета, иначе просто цикл while не тривиален получается а так while(rs.next()) и вуаля, чтобы ты делал еслиб курсор стоял на первой записи. Хотя непривычно да, сам путался в первое время.
Если субд -postgresql то можешь выполнить такой запрос select currval('firm_id_seq') таким селектом ты получишь значение id (serial или bigserial) в таблице firm
> Если субд -postgresql то можешь выполнить такой запрос select currval('firm_id_seq') таким селектом ты получишь значение id (serial или bigserial) в таблице firm
Если уж постгрес, то можно insert ... returning ... - и получить заветный id сразу же при вставке.