Bozhos 2. reviderede svar var tæt på, men ikke helt der. Det førte mig dog til svaret.
Tager vi det kodeeksempel, jeg startede med, ender vi med:
CallableStatement proc = connection.prepareCall("{ ? = call dbo.mySproc() }");
proc.registerOutParameter(1, Types.INTEGER);
proc.execute();
int returnValue = proc.getInt(1);
Nøgleelementerne her er "? =" foran "opkaldet" i prepareCall
funktion som opsætter et sted for returværdien og registerOutputParameter
. Det skal registreres som et heltal, da returværdien altid er en int (i hvert fald i SQL Server, måske er det anderledes i andre DB'er). Du skal derfor få det ved hjælp af getInt
. Jeg testede denne metode, og den virker.