sql >> Databasteknik >  >> RDS >> Sqlserver

Hämta returvärdet från JDBC MSSQL

Bozhos andra reviderade svar var nära men inte riktigt där. Det ledde mig dock till svaret.

Om vi ​​tar kodexemplet som jag började med slutar vi med:

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

Nyckeldelarna här är "? =" framför "samtal" i prepareCall funktion som ställer in en plats för returvärdet och registerOutputParameter . Det måste registreras som ett heltal, eftersom returvärdet alltid är en int (åtminstone i SQL Server, kanske är det annorlunda i andra DB). Du måste därför skaffa den med getInt . Jag testade den här metoden och den fungerar.



  1. Hur man hittar den sista dagen i månaden i SQL Server

  2. Så här grupperar du en rapport efter flera fält i Access 2016

  3. Drivrutinen JDBC PostgreSQL med Android

  4. Skickar en varchar full av kommaavgränsade värden till en SQL Server IN-funktion