我想做了 insert 功能 ,按提交以后 出现这种问题.....怎么解决哦~~~
javax.servlet.ServletException: 无效的列索引
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause java.sql.SQLException: 无效的列索引
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227)
oracle.jdbc.driver.OraclePreparedStatement.setIntInternal(OraclePreparedStatement.java:3970)
oracle.jdbc.driver.OraclePreparedStatement.setInt(OraclePreparedStatement.java:3961)
com.yourcompany.struts.dao.StrutsDao.addEmp(StrutsDao.java:34)
com.yourcompany.struts.action.StrutsAction.execute(StrutsAction.java:99)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

解决方案 »

  1.   

    把你的insert语句贴出来,表结构也贴出来,或者你单独在ORACLE执行,看是否报错
      

  2.   

    create table proemp(
             empid number primary key,
             empno number,
             ename varchar2(),
             job varchar2(),
             mgr varchar2(),
             hiredate date,
             sal number(7,2),
             comm number(7),
             deptno number(2)
      )
      
      insert into proemp (empid,empno,ename,job,mgr,hiredate,sal,comm,deptno) " +
    "VALUES(s_proemp_seq.nextval,?,?,?,?,to_date('?','yyyy-mm-dd'),?,?,?)
      

  3.   

     ORACLEL里 单独执行的话可以,还有 我建了 sequences ID是自增的CREATE SEQUENCE s_premp_seq
               INCREMENT BY 1
               START WITH   1
               NOCYCLE
               NOCACHE;