SQL []; 索引 1 超出范围。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围。]

Posted zbq6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL []; 索引 1 超出范围。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围。]相关的知识,希望对你有一定的参考价值。

借鉴原博客地址: https://blog.csdn.net/wx1458451310/article/details/78439946?locationNum=7&fps=1

说明:也可能是索引2 or 3 ...超出范围。

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

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

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

                                          3 ) 使用Dao包时:          

                                           param=null;                               

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

                                           即使param为空。

                                           改成 rs=dao.query(sql);即可。

 

我的情况:修改sql语句Dao层漏添加需要传的参数

 

以上是关于SQL []; 索引 1 超出范围。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围。]的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server:当过滤器值超出索引直方图范围时使用错误的索引

java.sql.SQLException:参数索引超出范围(2 > 参数个数,即 0)

java.sql.SQLException:参数索引超出范围(4 > 参数个数,即 3)

为啥此代码显示参数索引超出范围异常? [复制]

java.sql.SQLException:spring boot中的参数索引超出范围(6>参数个数,即5)

com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围