Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pobieranie wartości zwracanej z JDBC MSSQL

Druga poprawiona odpowiedź Bozho była bliska, ale nie do końca. Doprowadziło mnie to jednak do odpowiedzi.

Biorąc przykład kodu, od którego zacząłem, otrzymujemy:

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

Kluczowe elementy to „? =" przed „call” w prepareCall funkcja ustawiająca miejsce na zwracaną wartość i registerOutputParameter . Musi być zarejestrowany jako Integer, ponieważ zwracana wartość jest zawsze int (przynajmniej w SQL Server, może jest inna w innych bazach danych). Dlatego musisz to uzyskać za pomocą getInt . Przetestowałem tę metodę i działa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co sprawia, że ​​instrukcja SQL jest sargowalna?

  2. Zakończenie wsparcia dla SQL Server 2008. Co teraz?

  3. Konwertuj numer miesiąca na funkcję nazwy miesiąca w SQL

  4. SQL Server v.Next :Wydajność STRING_AGG()

  5. Zmień hasło w logowaniu SA w SQL Server (przykład T-SQL)