![](/img/trans.png)
[英]Calling a Stored procedure with SimpleJdbcCall returns null result set from Temp table. The stored procedure have no input and out put paramets
[英]Stored Procedure Returns null to Result Set
在使用JDBC時,出現一個問題,我在mysql中創建了一個表,其中包含員工信息Employee_Id,Name,City,Salary和Year_of_joining,並且我還向同一數據庫創建了一個存儲過程,該過程需要兩個輸入並更新工資。員工基於加入年份。 這是存儲過程:
CREATE PROCEDURE proc(IN var1, IN var2)
BEGIN
UPDATE "TABLE" SET Salary=var1+Salary WHERE Year_of_Joining= var2
END
現在,我通過java創建了到mysql數據庫的數據庫連接(該連接正在成功建立)
但是現在,當我在創建CallableStatement對象之后執行查詢並將嘗試將可調用對象的當前結果轉換為Result set時,我得到了null。 請幫我解決一下這個。 這是代碼:
// Creates connection with java:
Connection con= DriverManager.getConnection(url,username,pswrd);
// Now Calling the Stored procedure from mysql
CallableStatement col = con.prepareCall("{call proc(?,?)}");
// gave values to the procedure
col.setDouble(1,20000);
col.setInt(2,2012);
col.execute();
// Returning Result set=null
ResultSet rs = col.getResultSet();
- 首先,您尚未在存儲過程中設置輸出參數。
喜歡 :
CREATE PROCEDURE proc(IN inputParam VARCHAR(255), OUT OutParam INT)...
然后,要檢索輸出參數的值(在創建存儲過程時指定為OUT或INOUT的參數),JDBC要求在執行語句之前使用CallableStatement接口中的各種registerOutputParameter()方法指定它們。
col.registerOutParameter("OutParam", Types.INTEGER);
- 其次,UPDATE語句不返回ResultSet! 僅SELECT語句返回ResultSet進行操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.