我的数据库中的语句是这么写的:
Connection conn=null;
try{
conn=DB.getConn();
String sql="update salesorder set status="+order.getStatus()+" where id= "+ order.getId();

DB.executeQuery(conn, sql);
出现了以下的错误:
java.sql.SQLException: Can not issue data manipulation statements with executeQu
ery().
        at com.mysql.jdbc.Statement.checkForDml(Statement.java:305)
        at com.mysql.jdbc.Statement.executeQuery(Statement.java:885)
        at com.ly.hksp.util.DB.executeQuery(DB.java:116)
        at com.ly.hksp.dao.OrderMySQLDAO.updateStatus(OrderMySQLDAO.java:207)
        at com.ly.hksp.OrderMgr.updateStatus(OrderMgr.java:47)
        at com.ly.hksp.SalesOrder.updateStatus(SalesOrder.java:53)
        at org.apache.jsp.admin.ordermodify_jsp._jspService(ordermodify_jsp.java
:72)
        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:2
92)
        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(Appl
icationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
ContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
0)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
        at java.lang.Thread.run(Thread.java:595)

解决方案 »

  1.   

    将executeQuery()方法改成execute()即可。    [align=center]====  ====
    [/align]
      

  2.   

    我用的是MySQL4.1,mysql-connector-java-3.1.14,Tomcat5.0!请高手不吝赐教!!
      

  3.   

    不好意思,我发的贴子上面有个地方我写错了,数据库中的语句是应该写为: 
    Connection conn=null; 
    try{ 
    conn=DB.getConn(); 
    String sql="update salesorder set status="+order.getStatus()+" where id= "+ order.getId(); DB.executeUpdate(conn, sql); 
    请高手多多指教!!谢谢!!
      

  4.   

    executeUpdate改成execute这个方法就可以了。 我就这个错误现在好了