Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mendapatkan Nilai Pengembalian dari JDBC MSSQL

Jawaban revisi ke-2 Bozho hampir tetapi tidak cukup sampai di sana. Itu memang membawa saya ke jawabannya.

Mengambil contoh kode yang saya mulai dengan kami berakhir dengan:

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

Potongan kunci di sini adalah "? =" di depan "panggilan" di prepareCall fungsi yang menyiapkan tempat untuk nilai yang dikembalikan dan registerOutputParameter . Itu harus didaftarkan sebagai Integer, karena nilai yang dikembalikan selalu berupa int (setidaknya di SQL Server, mungkin berbeda di DB lain). Karena itu Anda harus mendapatkannya menggunakan getInt . Saya menguji metode ini dan berhasil.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC SQLServerException:Driver ini tidak dikonfigurasi untuk otentikasi terintegrasi.

  2. Berapa ukuran batch yang direkomendasikan untuk SqlBulkCopy?

  3. Hasil SSMS ke Kotak - CRLF tidak disimpan dalam salin/tempel - ada teknik yang lebih baik?

  4. Mengembalikan Parameter Prosedur Tersimpan atau Fungsi Buatan Pengguna di SQL Server (Contoh T-SQL)

  5. Apakah mungkin untuk menentukan kondisi di Count()?