From: | Thomas Kellerer <spam_eater(at)gmx(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Moving from PHP to Java: A result was returned when none was expected. |
Date: | 2016-06-16 05:56:57 |
Message-ID: | njtf37$lmn$1@ger.gmane.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Alexander Farber schrieb am 15.06.2016 um 15:56:
> Good afternoon,
>
> at PostgreSQL 9.5.3 I have a stored function (full source code below) returning void, which I successfully call with PHP:
>
> function skipGame($dbh, $uid, $gid) {
> $sth = $dbh->prepare('SELECT words_skip_game(?, ?)');
> $sth->execute(array($uid, $gid));
> }
>
> Now I am trying to call the same function through JDBC driver 9.4.1208.jre7:
>
> private static final String SQL_SKIP_GAME =
> "SELECT words_skip_game(?, ?)";
>
> try (PreparedStatement st = mDatabase.prepareStatement(SQL_SKIP_GAME)) {
> st.setInt(1, mUid);
> st.setInt(2, gid);
> st.executeUpdate();
> }
>
> and sadly get the SQLException "A result was returned when none was expected.".
>
> Shouldn't I call executeUpdate() method here - according to the doc
> https://www.postgresql.org/docs/7.4/static/jdbc-callproc.html ?
>
A SELECT statement needs to be run using `executeQuery()`.
You can also `execute()` if you want to get the update count using Statement.getUpdateCount() but I am not sure if that is actually populated through the JDBC driver for SELECT statements calling functions.
From | Date | Subject | |
---|---|---|---|
Next Message | Martín Marqués | 2016-06-16 11:37:45 | Re: [GENERAL] PgQ and pg_dump |
Previous Message | Shaun Cutts | 2016-06-16 04:39:56 | maximum "target list" (maximum columns) |