java.sql.SQLException: ORA-01008: 并非所有变量都已绑定

阅读更多
java.sql.SQLException: ORA-01008: 并非所有变量都已绑定

此异常为sql异常,我遇到的时候看java代码如下

public void savegdzcysxx(Gdzcxx gdzcxx) {
  String sql="insert into gdzcxx (id,zcmc,ggxh) values(SEQ_GDZC_ID.nextVAL,?,?)";
  Mysql mysql = new Mysql();
  try {
   mysql.prepareStatement(sql);
   mysql.setString(1, gdzcxx.getZcmc());
   mysql.setString(2, gdzcxx.getGgxh());
   mysql.execute(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  }finally{
   mysql.freeResource();
  }
}

看到预编译所有的变量确实都绑定了问题出在哪呢。后来经同事一提醒看到了

public void savegdzcysxx(Gdzcxx gdzcxx) {
  String sql="insert into gdzcxx (id,zcmc,ggxh) values(SEQ_GDZC_ID.nextVAL,?,?)";
  Mysql mysql = new Mysql();
  try {
   mysql.prepareStatement(sql);
   mysql.setString(1, gdzcxx.getZcmc());
   mysql.setString(2, gdzcxx.getGgxh());
   mysql.execute(sql);

  正确为:mysql.execute();

  } catch (SQLException e) {
   e.printStackTrace();
  }finally{
   mysql.freeResource();
  }
}

只因自己粗心大意酿成的错误,做事一定要细心咯;

你可能感兴趣的:(java.sql.SQLException: ORA-01008: 并非所有变量都已绑定)