又没有循环什么的,怎么可能插入两次呢?你可以在这个地方(dbc.executeUpdate(sql2))再插入一次自已写的sql语句检查一下,看在数据库中放在那里,也可以多放几个地方试试

解决方案 »

  1.   

    建议:确保只有你1人操作这个页面
    1把SQL在页面显示出来
    2把值插入结构相同,数据10条以下的表
    3去找和你插入的表相关的存储过程为什么有时1次有时2次,不明白!
    你的jsp不象有问题,结构很简单的.
      

  2.   

    晕了 看我的后台执行结果和错误:*********insert-case.jsp******//插入数据cc  第一次执行insert-case.jsp
    caseid==23
    userid==admin
    case_title==cc
    bunit==ccc
    bduty==ccc
    case_dep==cccccccccccccccccccccccccc
    *********insert-case.jsp******//不知道为什么 此时又运行了一次inset-case.jsp
    caseid==24
    userid==admin
    case_title==cc
    bunit==ccc
    bduty==ccc
    case_dep==cccccccccccccccccccccccccc
    *********ly.jsp******//运行完两次插入后  转到我的ly.jsp显示页面 结果看到插入两条cc
    sql=select * from accuse_case where user_id = 'admin' order by case_time 
    *********ly.jsp******
    sql=select * from accuse_case where user_id = 'admin' order by case_time *********insert-case.jsp******//此时 我又再次插入数据ddd  第一次运行 insert-case.jsp
    caseid==25
    userid==admin
    case_title==ddd
    bunit==ddd
    bduty==dd
    case_dep==dddd
    *********ly.jsp******//跳转到显示页面  这次只运行一次插入操作 看到的结果也是一个ddd
    sql=select * from accuse_case where user_id = 'admin' order by case_time 
    *********insert-case.jsp******//此时我再插入数据eee  第一次运行insert-case.jsp
    caseid==26
    userid==admin
    case_title==eee
    bunit==eee
    bduty==eee
    case_dep==eeee
    *********ly.jsp******//跳转显示
    sql=select * from accuse_case where user_id = 'admin' order by case_time 
    *********insert-case.jsp******//后台又自动继续插入一次 eee
    caseid==27
    userid==admin
    case_title==eee
    bunit==eee
    bduty==eee
    case_dep==eeee
    *********ly.jsp******//跳转 最后还是看到两个eee
    sql=select * from accuse_case where user_id = 'admin' order by case_time *********insert-case.jsp******//我再插入数据fff  竟然连着运行了两次insert-case.jsp
    *********insert-case.jsp******
    caseid==28
    userid==admin
    case_title==fff
    bunit==fff
    bduty==fff
    case_dep==ffff
    caseid==28
    userid==admin
    case_title==fff
    bunit==fff
    bduty==fff
    case_dep==ffff//结果后台抛出错误。。但前台显示一个fff
    ////////// SHOW Exception MESSAGE IN CLASS DSConnUtils //////////
    数据库记录添加,修改,删除操作出错!in method executeUpdate
    java.sql.SQLException: ORA-00001: 违反唯一约束条件 (GAB.PK_ACCUSE_CASE) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    *********ly.jsp******
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
    at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
    at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
    at oracle.jdbc.driver.OracleStatement.doScrollStmtExecuteQuery(OracleStatement.java:6931)
    sql=select * from accuse_case where user_id = 'admin' order by case_time 
    at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:800)
    at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
    at brjl.model.DSConnUtils.executeUpdate(DSConnUtils.java:605)
    at org.apache.jsp.accuse.insert_002dcase_jsp._jspService(insert_002dcase_jsp.java:95)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
    at java.lang.Thread.run(Thread.java:595)
    /////////////////////////// END  SHOW ///////////////////////////
    *********ly.jsp******
    sql=select * from accuse_case where user_id = 'admin' order by case_time
      

  3.   

    一点建议:如果你使用form.submit()提交,那就不要用<input>类的元素onclick()事件来触发!