在做一个小的学生信息管理系统,涉及到jdbc的运用,在完成查询功能时,查询语句为

1 public static final String SELECT_STUDENT = "select * from student where sno='?'";

然后在Dao中相关语句为

 1 public boolean selectStudent(String sql,Vector rowData) { 2         try { 3             Class.forName(drivername); 4             con = DriverManager.getConnection(dbURL, userName, userPwd); 5             ps = con.prepareStatement(DBSql.SELECT_STUDENT); 6             ps.setString(1, sql); 7             rs=ps.executeQuery();
........

便提示错误
com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围

网上查了下,说可能是sql与剧中有?而没有赋值,但我确信自己是赋值了,通过ps.setString(1, sql);这一句,反反复复地查看,就是想不出问题所在,后来发现之前完成的一个功能中有类似的用法,才知道sql语句中若?代表一个字符串,两旁不用加单引号,即不用写成'?',只需要单个问号就行了

把sql语句改成如下就行了

    public static final String SELECT_STUDENT = "select * from student where sno=?";

XD

转载于:https://www.cnblogs.com/morphin3/archive/2012/03/14/2396643.html

com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围相关推荐

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

    今天在做项目的时候,使用的jdbc底层增加,然后出现了个问题,找了好久没有找出来是什么问题,后来在网上查了下,发现别人都说是?写成了中文的了,于是我就返回来看,没看出来,继续找,前前后后折腾了估计有半 ...

  2. jdbc连接数据库失败,com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。

    创建数据库连接失败! com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败. java.net.ConnectExce ...

  3. 异常:com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据。

    com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据.  at com.microsoft.sqlserver.jdbc.SQLS ...

  4. [ERR]com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行

    java获取结果集,if(rs!=null),和while(rs.next())区别  com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前 ...

  5. SqlServer死锁com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 52) was deadlock

    Java多线程操作SqlServer数据库,执行update的操作 :报错: com.microsoft.sqlserver.jdbc.SQLServerException: Transaction ...

  6. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'user' 附近有语法错误

    org.apache.ibatis.exceptions.PersistenceException:  ### Error querying database.  Cause: com.microso ...

  7. com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'Monkey' 无效。

    主要代码 package chp13;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLExc ...

  8. com.microsoft.sqlserver.jdbc.SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。

    sqlserver在做批量插入的时候出现这个错误: com.microsoft.sqlserver.jdbc.SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC ...

  9. com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接。

    @TOcom.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立 安全连接.C co ...

最新文章

  1. html表格中加入斜线,在HTML中显示带斜线的表格
  2. 【MATLAB】find 函数 总结
  3. java opencv磨皮算法_使用OPENCV简单实现具有肤质保留功能的磨皮增白算法
  4. 重学java基础第十五课:java三大版本
  5. ca开头的车是什么牌子_微电调研 | 把高速车摘了牌子当低速车卖还很普遍
  6. bootscripttable前端排序无效_前端你应该知道的八条bug分享给你们
  7. html查看程序魅族,怎么查看源代码(什么工具能查出一个程序的代码)
  8. C语言回调函数 钩子函数,回调函数和钩子函数的说明
  9. 观察者模式java类图_初探Java设计模式------观察者模式
  10. 关于最近Vue3+ Vue-CLI3+比较热门的十几篇文章
  11. 老男孩python第一天笔记
  12. 帮助浏览器、help函数和doc函数 符号表述的数集
  13. 联想Ideapad310s笔记本换屏线
  14. base ring shell skirt skirt 压力容器_压力容器工程规定(中英文版)
  15. 数学分析 极限(第2,3章)
  16. 大前端学习工具及网站大全
  17. 002 免格式化U盘部署PE(BIOS)
  18. 卸载office2010安装包时提示语言不受系统支持
  19. 无线网卡SP-WL450U的驱动问题
  20. 【Web】Web-API(No.69)下课倒计时-自动播放下课铃声

热门文章

  1. 学会这几个Redis技巧,让你的程序快如闪电
  2. 快速开发一个自定义 Spring Boot Starter ,希望你也会
  3. 职场程序员如何高效自学
  4. 浅析 Servlet 执行原理
  5. 高可用高并发的 9 种技术架构
  6. JavaWeb-Spring中注解大全与详解
  7. Spring和SpringMVC的总结
  8. vue+springboot图片上传,addResourceHandlers调用无效
  9. 律师如何加强自身的计算机文化教育网,提高_计算机文化基础_教学效果的几点心得.pdf...
  10. 大流行后的数据中心非接触式技术