Can not issue data manipulation statements with executeQuery()错误解决

来源:互联网 发布:北京涮羊肉 知乎 编辑:程序博客网 时间:2024/05/22 15:20

在mysql数据库由4.X升级到5.X的过程中,驱动包由2.X的升级到3.X的,在系统运时报如下错误:

java.sql.SQLException: Can not issue data manipulation statements with executeQuery()
 at com.mysql.jdbc.Statement.executeQuery(Statement.java:1111)
 at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)
 at com.sinohub.persistence.schedule.SchedulePersistence.setContractConsignment(SchedulePersistence.java:1218)
 at com.sinohub.web.financing.lettercredit.ChangeConsignmentAction.actionPerform(ChangeConsignmentAction.java:86)
 at com.sinohub.web.common.BaseAction.perform(BaseAction.java:111)
 at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1787)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586)
 at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
 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 com.sinohub.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
 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)


经过检查,发现是 com.sinohub.persistence.schedule.SchedulePersistence中的方法setContractConsignment()中执行的是update语句,但statement调用的却是executeQuery()方法。将executeQuery()方法改成execute()即可。


本文来自CSDN博客,转载请标明出处:http://student.csdn.net/space.php?uid=227104&do=blog&id=40161

原创粉丝点击