我就不吃芹菜

导航

 

最近在学习Java连接oracle数据库操作, 无意间一个小问题, 浪费了一个下午和半个晚上去找这个错误, 本来可以做更多的事情的, 现将这个错误贴出来, 每次看到, 定将勉励! 

 1 ...........................
 2 
 3 try {
 4                 String sql = "insert into t_test (user_id, user_name, password) values (?,?,?)";
 5                 pst = conn.prepareStatement(sql);
 6                 
 7                 if (user.getUserID() == null || user.getUserName() == null || user.getPassWord() == null)
 8                 {
 9                     throw new Exception("kong");
10                 }
11                 
12                 pst.setString(1, user.getUserID());
13                 pst.setString(2, user.getUserName());
14                 pst.setString(3, user.getPassWord());
15                 
16                 row = pst.executeUpdate(sql);
17             }
18             catch(Exception ex) {
19 
20 .................

pst.executeUpte();

这个语句是一个执行语句, 本身就是一个命令, 命令是执行pst = conn.prepareStatement(sql);构建出来的数据库命令, 但是在里面再加sql就是错误了, 前面给占位符赋值的语句就全部白做了.

最后oracle给出了ORA-01008:并非所有变量都已绑定 的错误.

在学习编程的过程中, 出现一些难以解决的问题, 甚至于一些见都没见到过的异常都是家常便饭, 自己能亲自解决的才是最有价值的, 这次这个错误的发生, 微观上来讲是自己手误习惯性的写上的, 但是也从另一个层面说明了, 知识掌握的相当的不牢固, 来来回回看了N遍, 也没发现这个错误的存在, 以后注意吧!

posted on 2015-12-11 11:21  我就不吃芹菜  阅读(390)  评论(0编辑  收藏  举报