Exception in thread "main" java.sql.SQLException: ORA-01008: 并非所有变量都已绑定解决方案

搜了一下,好多人都没找到关键点。我分享一下我的解决方法:

public class StuDao {
		public static void main(String[] args) throws SQLException, ClassNotFoundException {
			Stu s = new Stu();
			s.setName("liu");
			s.setSex("女");
			s.setAge(55);
			insert(s);
                    }
		public static  int insert(Stu s) throws SQLException, ClassNotFoundException {
			Connection con = DBLink.getCon();
			//System.out.println(con);

			String str="insert into students (id, name,sex,age) values ( stu_seq.nextval,?,?,?)";
			//预处理 PreparedStatement 马上可以执行了,先通过连接,把要执行的sql执行
			/*
			* ?是占位符从序号1开始	?赋值要在executeUpdate()之前完成
			* */
			PreparedStatement ps = con.prepareStatement(str);
			ps.setString(1,s.getName());
			ps.setString(2,s.getSex());
			ps.setInt(3,s.getAge());
			int i=ps.executeUpdate(str);//当 返回值是1时,执行成功.
			System.out.println(i);

			return 0;
		}
}

运行结果:

其实错误很简单,不过我也找了很久

只要把  int i=ps.executeUpdate(str);  改为  int i=ps.executeUpdate();

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值