java mysql 预处理指令_mysql预处理的Java代码,报错Parameterindexoutofrange(1>numberofparameters,whichis0)....

mysql预处理的Java代码,报错Parameterindexoutofrange(1>numberofparameters,whichis0).

茶什i

45e3020af9af1140b1017f2205d095cc.png2020-06-05 14:22:56

报错:java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0). at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860) at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3327) at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3312) at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4027) at Renewaltest.main(Renewaltest.java:42)代码是:import java.sql.*;public class Renewaltest { static Connection con; static PreparedStatement sql; static ResultSet res; static Statement stmt ; public Connection getConnection(){ try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test2?characterEncoding=utf8&useSSL=true", "root", "******"); System.out.println("数据库连接成功"); }catch(Exception e){ e.printStackTrace(); } return con; } public static void main(String[] args) { Renewal c = new Renewal(); con= c.getConnection(); try{ sql = con.prepareStatement("select * from tb_stu"); res = sql.executeQuery(); System.out.println("执行增加、修改、删除前的数据:"); while(res.next()){ String id = res.getString("id"); String name = res.getString("name"); String sex = res.getString("sex"); String birthday = res.getString("birthday"); System.out.print("编号:"+id); System.out.print(" 姓名:"+name); System.out.print(" 性别:"+sex); System.out.print(" 生日:"+birthday); System.out.println(); }//这部分之前的都能运行显示出来 sql = con.prepareStatement("insert into tb_stu(name,sex,birthday) values(?,?,?)"); sql.setString(1, "彭丹"); sql.setString(2, "男"); sql.setString(3, "1990-12-12"); sql.executeUpdate(); sql = con.prepareStatement("update tb_stu set birthday=?where id =(select min(id) from tb_stu)"); sql.setString(1, "2012-12-02"); sql.executeUpdate(); stmt.executeUpdate("delete from tb_stu where id="+"(select min(id)from tb_stu)"); sql.setInt(1, 1); sql.executeUpdate(); sql = con.prepareStatement("select*from tb_stu"); res = sql.executeQuery(); System.out.println("执行增加、修改、删除后的数据:"); while(res.next()){ String id = res.getString("id"); String name = res.getString("name"); String sex = res.getString("sex"); String birthday = res.getString("birthday"); System.out.print("编号:"+id); System.out.print(" 姓名:"+name); System.out.print(" 性别:"+sex); System.out.print(" 生日:"+birthday); System.out.println(); } }catch(Exception e){ e.printStackTrace(); } }}求大神指教!

分享到

pHry8fJ+foRzMQHAAAAABJRU5ErkJgggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值