Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Obtenir la valeur de retour de JDBC MSSQL

La deuxième réponse révisée de Bozho était proche mais pas tout à fait là. Cela m'a cependant conduit à la réponse.

En prenant l'exemple de code avec lequel j'ai commencé, nous nous retrouvons avec :

CallableStatement proc = connection.prepareCall("{ ? = call dbo.mySproc() }");
proc.registerOutParameter(1, Types.INTEGER);
proc.execute();
int returnValue = proc.getInt(1);

Les éléments clés ici sont le "? =" devant le "call" dans le prepareCall fonction qui met en place une place pour la valeur de retour et le registerOutputParameter . Il doit être enregistré en tant qu'entier, car la valeur de retour est toujours un int (au moins dans SQL Server, c'est peut-être différent dans d'autres bases de données). Il faut donc l'obtenir en utilisant getInt . J'ai testé cette méthode et ça marche.