Parameter index out of range(1 > number of parameters, which is 0)参数索引超出范围
今天在写项目的过程中,有一个模块是做多选删除操作,通过servlet获得多选框的value组,然后执行sql操作。如下:
1 @RequestMapping( "/delteCouse.do" )
2 public void delCouse( HttpServletRequest req, HttpServletResponse resp ) throws SQLException {
3
4 //处理中文
5 try {
6 req.setCharacterEncoding("UTF-8");
7 } catch (UnsupportedEncodingException e) {
8 e.printStackTrace();
9 }
10 resp.setContentType("text/html;charset=utf-8");
11
12 //获取页面传来的值:选中的框的value
13 String courIndex[] = req.getParameterValues("couIndex");
14
15 //根据选中的框的个数,动态生成同样个数的动态占位符
16 String number = null;
17 for (int j = 0; j < courIndex.length; j++) {
18 number +=",?";
19 }
20
21 //SQL语句:添加动态生成的?占位符,满足用户的任意多选操作
22 String sqlString = "DELETE FROM courses WHERE course_id IN (" + number + ")";
23
24 Connection con = myConnection.getConnection();
25 PreparedStatement pStatement = con.prepareStatement(sqlString);
26
27 //动态设置占位符位置的值
28 for (int j = 0; j < courIndex.length; j++) {
29 pStatement.setString(j+1,courIndex[j]);
30 }
31
32 //执行SQL
33 pStatement.executeUpdate();
34 //关闭链接
35 con.close();
36
37 }
测试的时候发现,报500错误:Parameter index out of range(1 > number of parameters, which is 0),还以为存放value的数组和给占位符之间的索引不对应(占位?符从1开始,数组索引从0开始),然而检查了没有毛病,头就大了,检查很久发现是中英文问题!,我的占位问号是中文的!

修改:

我的天,哈哈,查别还是比较大的,但是不容易注意到啊,所以说经验真的重要了,有时候不是什么大难题,就是个没注意到的小问题~,
Parameter index out of range(1 > number of parameters, which is 0)参数索引超出范围的更多相关文章
- mybatis中Parameter index out of range (1 > number of parameters, which is 0).
Parameter index out of range (1 > number of parameters, which is 0).(参数索引超出范围) 在mybatis里面写就是应该是 l ...
- Caused by: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0
1.错误描述 [ERROR:]2015-05-05 16:35:50,664 [异常拦截] org.hibernate.exception.GenericJDBCException: error ex ...
- java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0). at co ...
- Parameter index out of range (1 > number of parameters, which is 0).
数据库错误:Parameter index out of range (1 > number of parameters, which is 0) ...
- org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback.....Parameter index out of range (1 > number of parameters, which is 0).;
sql有误,一般是 sql语句少了问号.
- 【Mybatis异常】Caused by: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
一.错误原因分析 从错误提示可以看出:实际传入的参数大于sql中待设置的参数,也就是sql中的?少于参数或?根本没有产生原因: ?号被单引号包围 如: sql += " and artic ...
- [转]操作MySQL数据库报出:Parameter index out of range (1 > number of parameters, which is
原文地址:https://blog.csdn.net/zdx_y/article/details/52072914 对MySQL进行insert操作,控制台抛出以下错误:Parameter index ...
- Parameter index out of range (2 > number of parameters, which is 1)
今天在实现一个功能时遇到一个问题,解决了很久.结果是#{}与${}使用错误的原因.但是具体原因还不是很清楚,写此篇总结,知道的可以交流. 具体描述为:通过教师的头衔(1高级讲师2首席讲师)及名称进行模 ...
- java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2).
java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2). java. ...
随机推荐
- git推送文件到gitee
注册gitee账号 设置姓名.个人空间地址 点击头像旁边的加号,新建仓库 安装git # 设置姓名和邮箱,姓名是注册gitee时设置的姓名,邮箱是注册gitee的邮箱 git config --glo ...
- 理解ASP.NET Core - [02] Middleware
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 中间件 先借用微软官方文档的一张图: 可以看到,中间件实际上是一种配置在HTTP请求管道中,用 ...
- ES6中函数调用自身需要注意的问题
在传统的递归调用中,可以采用如下方式 function sum(n) { return sum(n - 1) + n;} 但如今es6盛行,为了保持代码一致性,可以采用两种解决方式. 第一种,将thi ...
- openresty lua-resty-string md5 sha aes random string
安装 https://github.com/openresty/lua-resty-string $ sudo opm get openresty/lua-resty-string $ ls -al ...
- 云原生 AI 前沿:Kubeflow Training Operator 统一云上 AI 训练
分布式训练与 Kubeflow 当开发者想要讲深度学习的分布式训练搬上 Kubernetes 集群时,首先想到的往往就是 Kubeflow 社区中形形色色的 operators,如 tf-operat ...
- Appium自动化(12) - 详解 HardwareActions 类里的方法和源码分析
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 HardwareAction ...
- ubantu虚拟机搭建xl2tp服务
在编译成功源码,安装完毕xl2tpd后,便可以配置xl2tpd服务.基本配置过程主要涉及两个配置文件:一个用来配置xl2tpd, 一个用来配置ppp协议.下面分别对这两个文件进行说明,最后添加xl2t ...
- 八、Abp vNext 基础篇丨标签聚合功能
介绍 本章节先来把上一章漏掉的上传文件处理下,然后实现Tag功能. 上传文件 上传文件其实不含在任何一个聚合中,它属于一个独立的辅助性功能,先把抽象接口定义一下,在Bcvp.Blog.Core.App ...
- [第一篇]——Docker 教程之Spring Cloud直播商城 b2b2c电子商务技术总结
Docker 教程 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然 ...
- tp5 引入 没有命名空间的类库的方法(以微信支付SDK为例)
use think\Loader; Loader::import('Wxpay.WxPay',EXTEND_PATH,'.Api.php'); 注意扩展名的点"."不能省略 使用之 ...