SQLsever数据库问题:com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围(或者索引2 or 3 ...超出范围。)

原因:存储过程中的变量定义顺序和在java代码中调用时的变量赋值顺序有问题。

1)看一下你的sql语句中的?号是中文还是英文                                 

 2)看一下你的sql语句中?号的个数是否与你传入的参数的个数刚好相等                                      

 3 ) 使用Dao包时:

param=null;                               

 rs=dao.query(sql, param);会出现以上错误,因为你的sql语句中没有?号,所以不需要添加param,即使param为空。改成 rs=dao.query(sql);即可。

 

原文地址:https://www.cnblogs.com/zhahu/p/11931368.html