黑马程序员技术交流社区

标题: 求帮助,,java.sql.SQLException: 无效的列索引 报这个错。 [打印本页]

作者: 高梦晓    时间: 2013-4-13 11:44
标题: 求帮助,,java.sql.SQLException: 无效的列索引 报这个错。
代码如下:
  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)
作者: Asan    时间: 2013-4-13 11:58
at MadeToCaseLocus.main(MadeToCaseLocus.java:58),主函数有问题,还有你的pstmt.setInt(1, i);你的i是int型的?没看到你定义!
作者: 李易烜    时间: 2013-4-13 12:17
你的数据库中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);
复制代码

作者: 16463535    时间: 2013-4-13 12:58
如果你的数据库中ID是自增长类型的,那么在这里不需要set 你的ID 字段。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2