[英]How to call a MSSQL stored procedure from java
我正在嘗試從Java調用存儲過程,但在使調用正確進行時遇到一些問題。 我查找了許多示例,但它們與我嘗試調用的存儲過程的語法不匹配。
STORED PROCEDURE CODE
------------------------
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[getMgr]
@UserID as varchar(5),
@ModeType as char(1)
AS
BEGIN
SELECT usermgrid from AllEmployees WHERE (ModeType = @ModeType AND UserID =
@UserID)
END
JAVA CODE
----------------------------
connection = getConnection();
cs = connection.prepareCall("{call lvhsp_GetManager(?, ?) }");
cs.setString(0, someUserID);
cs.setString(1, "0");
ResultSet resultSet = cs.executeQuery();
我曾嘗試以多種不同的方式調用存儲過程,但是我仍然遇到錯誤。
當我這樣稱呼它時,我得到:
com.microsoft.sqlserver.jdbc.SQLServerException:索引0超出范圍。
我認為這是因為這不是傳遞參數的正確方法。
我也嘗試使用帶有和不帶有@的參數名稱(UserID,ModeType)來調用它,但這不起作用。
我想念什么?
請嘗試以下方法:
cs.setString(1, someUserID);
cs.setString(2, "0");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.