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();

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章