[英]Retrieve the returned value from sql server stored procedure using java
[英]Unable to retrieve Stored Procedure Return value through Java
我正在嘗試通過JPA從用sql server 2008編寫的存儲過程中檢索結果。 我遇到了一種非常荒謬的情況,在這種情況下,我可以從結尾有select語句的存儲過程中檢索結果。 在這種情況下,我可以通過調用
storedProcedureQuery.getSingleResult();
但是,如果存儲過程最后包含返回值的return語句,則我將無法獲得任何結果,並且同一查詢將返回空指針異常。
返回值的存儲過程如下:
CREATE PROCEDURE callSP
@value int
AS
BEGIN
SET NOCOUNT ON;
select 1;
END
GO
導致錯誤的存儲過程如下所示:-
CREATE PROCEDURE callSP
@value int
AS
BEGIN
SET NOCOUNT ON;
RETURN 1;
END
GO
還有其他方法可以通過JPA檢索返回值嗎?
如果選擇返回值,則必須執行以下操作:
CallableStatement storedProcedureQuery = con.prepareCall("{? = call my_procedure (?,?)}");
storedProcedureQuery.execute();
int groupId = cs.getInt(1);`
但是,如果返回ResultSet,則必須執行以下操作:
ResultSet rs = storedProcedureQuery.executeQuery();
if (rs.next())
int groupId = rs.getInt(1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.