sql >> Databáze >  >> RDS >> Sqlserver

Získání návratové hodnoty z JDBC MSSQL

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.



  1. Explicitní hodnotu pro sloupec identity v tabulce lze zadat pouze v případě, že je použit seznam sloupců a IDENTITY_INSERT je na serveru SQL Server.

  2. Zpracování velkých transakcí pomocí replikace streamování a MariaDB 10.4

  3. Softwarová recenze – Stellar Repair pro MS SQL

  4. Jak úplně odebrat MySQL 5.7 z Windows