A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

代码如下:
  1. String sql2="insert into caselocus(id,pmid,caseno,flowtache,status,begindate,enddate) values(?,?,?,?,?,?,?)";
  2.                                                 pstmt.setInt(1, i);
  3.                                                 pstmt.setLong(2, pmid);
  4.                                                 pstmt.setString(3, caseno);
  5.                                                 pstmt.setInt(4, huanjie);
  6.                                                 pstmt.setInt(5, 1);
  7.                                                 pstmt.setDate(6,(java.sql.Date) date1);
  8.                                                 pstmt.setDate(7,(java.sql.Date) date1);
复制代码
是报的错!请大侠看看!
java.sql.SQLException: 无效的列索引
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
        at oracle.jdbc.driver.OraclePreparedStatement.setIntInternal(OraclePreparedStatement.java:3970)
        at oracle.jdbc.driver.OraclePreparedStatement.setInt(OraclePreparedStatement.java:3961)
        at MadeToCaseLocus.main(MadeToCaseLocus.java:58)

3 个回复

倒序浏览
at MadeToCaseLocus.main(MadeToCaseLocus.java:58),主函数有问题,还有你的pstmt.setInt(1, i);你的i是int型的?没看到你定义!
回复 使用道具 举报
你的数据库中ID检查是不是自增长类型的,
若是,这里不需要设置的。
  1. String sql2="insert into caselocus(id,pmid,caseno,flowtache,status,begindate,enddate) values(,?,?,?,?,?,?)";
  2.                                                 
  3.                                                 pstmt.setLong(1, pmid);
  4.                                                 pstmt.setString(2, caseno);
  5.                                                 pstmt.setInt(3, huanjie);
  6.                                                 pstmt.setInt(4, 1);
  7.                                                 pstmt.setDate(5,(java.sql.Date) date1);
  8.                                                 pstmt.setDate(6,(java.sql.Date) date1);
复制代码
回复 使用道具 举报
如果你的数据库中ID是自增长类型的,那么在这里不需要set 你的ID 字段。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马