【发布时间】:2018-05-17 11:36:33
【问题描述】:
我正在尝试进入一个名为 valorReturn 在我的 sql server 存储过程中返回语句的变量... sqlserver存储过程工作正常,但问题是java..
create procedure login
@cliente varchar(10),@pw varchar(10)
as begin
if exists(select cliente from seg where cliente=@cliente)
begin
if(select pw from seg where cliente=@cliente)=@pw
begin
if(select privilegio from seg where cliente=@cliente)=0 begin
print 0
return 0
end
end
exec 'xd','xd'
在这里,我从 PRINT 行收到一条消息: 0
所以,我应该能够使用此 JAVA 代码获取该值并将其设置为变量 valorReturn
String consulta="exec login '"+usr+"','"+pw+"'";
CallableStatement st=con.prepareCall(consulta);
st.setInt(1,10);
st.registerOutParameter(1, Types.INTEGER);
st.execute();
int valorReturn=st.getInt(1);
这是控制台中打印的异常
com.microsoft.sqlserver.jdbc.SQLServerException:索引 1 超出范围。
谢谢,感谢您的帮助! :)
【问题讨论】:
标签: java sql-server tsql stored-procedures return-value