首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

目录 1 超范围

2013-08-10 
索引 1超范围????System.out.print( 性别:+sex)????System.out.print( 生日:+date)????System.out.p

索引 1 超范围
????System.out.print(" 性别:"+sex);
????System.out.print(" 生日:"+date);
????System.out.println(" 专业:"+ss);
????
???}
??} catch (Exception e) {
???// TODO Auto-generated catch block
???e.printStackTrace();
??}
??return con;
?}
?public static void main(String[] args) {
??// TODO Auto-generated method stub
??Test4 tt = new Test4();
??tt.getConnection();
?}

}

运行时出现下面异常:

com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围。
?at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
?at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(Unknown Source)
?at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setString(Unknown Source)
?at com.gem.lianxi.Test4.getConnection(Test4.java:19)
?at com.gem.lianxi.Test4.main(Test4.java:45)
请问这是怎么回事?该怎么解决?什么原因?

解决方法找到一种:就是这样写:sql = con.prepareStatement("select * from EduData..student where SID = " + "?");?

但是还是不清楚为什么要这样做?那样出错的原因是什么?

热点排行