Bozhova 2. upravená odpověď byla blízko, ale ne tak docela. Vedlo mě to však k odpovědi.
Vezmeme-li příklad kódu, kterým jsem začal, skončíme s:
CallableStatement proc = connection.prepareCall("{ ? = call dbo.mySproc() }");
proc.registerOutParameter(1, Types.INTEGER);
proc.execute();
int returnValue = proc.getInt(1);
Klíčovými částmi jsou "? =" před "voláním" v prepareCall
funkce, která nastaví místo pro návratovou hodnotu a registerOutputParameter
. Musí být registrován jako Integer, protože návratová hodnota je vždy int (alespoň na SQL Serveru, možná je to jiné DB). Proto jej musíte získat pomocí getInt
. Testoval jsem tuto metodu a funguje.