Re: getUdateCount() vs. RETURNING clause
От | Oliver Jowett |
---|---|
Тема | Re: getUdateCount() vs. RETURNING clause |
Дата | |
Msg-id | 4B0D2DB0.8020707@opencloud.com обсуждение исходный текст |
Ответ на | Re: getUdateCount() vs. RETURNING clause (Thomas Kellerer <spam_eater@gmx.net>) |
Ответы |
Re: getUdateCount() vs. RETURNING clause
|
Список | pgsql-jdbc |
Thomas Kellerer wrote: > Back to my original question then: why doesn't the Postgres driver > return 1 as the updateCount in this situation? > I only get a single result set (which is correct) but never a 1 as the > update count. Back to my original answer then ;-) Quoting your original code: > PreparedStatement pstmt = con.prepareStatement(UPDATE_SQL); // the statement from above > pstmt.setInt(1, 42); > boolean hasResult = pstmt.execute(); > > if (hasResult) { > ResultSet rs = pstmt.getResultSet(); > if (rs != null && rs.next()) { > int newId = rs.getInt(1); > System.out.println("newid: " + newId); > } > } > > int affected = pstmt.getUpdateCount(); > System.out.println("affected: " + affected); You never call getMoreResults(), so you are only looking at a single result, which is either a resultset or an update count, never both. -O
В списке pgsql-jdbc по дате отправления: