java索引 2 超出范围_java中动态执行SQL语句报错:索引2超出范围,求大神指导~...

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

java中动态执行SQL语句报错:索引2超出范围,求大神指导~

报错:添加了1条记录到student表中

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

at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)

at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setterGetParam(SQLServerPreparedStatement.java:698)

at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setValue(SQLServerPreparedStatement.java:707)

at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.setString(SQLServerPreparedStatement.java:1015)

at dblx.Sjk1_3.main(Sjk1_3.java:40)

package dblx;

import java.sql.*;

public class Sjk1_3 {

private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";

private static String url="jdbc:sqlserver://neverAgain\\neverAgain:1433;DatabaseName=Myschool";

private static String user="sa";

private static String password="111111";

public static void main(String[] args)

{

Connection conn=null;

PreparedStatement ps=null;

ResultSet rs=null;

String selectsql="select * from Student where Sex=?";

String insertsql="insert into Student(Sno,Sname,Sex,Sage)"+

"values(?,?,?,?);";

String updatesql="update Student set Sno='1410030014' where Sname=?";

String deletesql="delete from Student where Sno=?";

try{

Class.forName(driver);

conn=DriverManager.getConnection(url,user,password);

ps=conn.prepareStatement(selectsql);

ps.setString(1,"女");

rs=ps.executeQuery();

while(rs.next()){

String no=rs.getString("Sno");

String name=rs.getString("Sname");

String sex=rs.getString("Sex");

String age=rs.getString("Sage");

System.out.println(no+""+name+""+sex+""+age);

}

ps=conn.prepareStatement(insertsql);

ps.setString(1, "1410030006");

ps.setString(2, "李明");

ps.setString(3, "男");

ps.setString(4,"13");

int count=ps.executeUpdate();

System.out.println("添加了"+count+"条记录到student表中");

ps=conn.prepareStatement(updatesql);

ps.setString(2, "李四");

count=ps.executeUpdate();

System.out.println("更新了"+count+"条记录到student表中");

//            ps=conn.prepareStatement(deletesql);

//            ps.setString(1,"1410030001");

//            count=ps.executeUpdate();

//            System.out.println("删除了"+count+"条记录到student表中");

}

catch(Exception e){

e.printStackTrace();

}

finally{

try{

if(rs!=null)rs.close();

if(ps!=null)ps.close();

if(conn!=null)conn.close();

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

}

搜索更多相关主题的帖子:

java 动态 记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值