FVVdjkPyW1pLx2TGg6nK21LmLBQ1ZfmmvcyRcPwmnJ8gh1BfZZWY!224229484!11674474850781167447553484      这个是String orderid=String.valueOf(request.getSession().getId())+String.valueOf(System.currentTimeMillis());  下面是报的错....  
                                        OrderBase method addOrder exception                     
                        java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order (orderid,username,state,city,address,zip,phone,orderdate) values ('FVVdjkP' at line 1                                                                               at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)                   at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)                        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666)                     at com.mysql.jdbc.Connection.execSQL(Connection.java:2994)                      at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:936)                                                                                 at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:773)         at weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:102)                                                                                  at huiyino.ahead.taobao.OrderBase.addOrder(OrderBase.java:27)                   at huiyino.ahead.taobao.MakeOrder.doPost(MakeOrder.java:56)                     at huiyino.ahead.taobao.MakeOrder.doGet(MakeOrder.java:40)                      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)                 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)                 at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)                                                             at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)                                                                            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)                                                                                  at huiyino.ahead.taobao.SetCharterEncoding.doFilter(SetCharterEncoding.java:40)                                                                                 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)                                                                                  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6987)                                                   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)                                                                      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)                                                                                    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)                                                                 at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)                                                                           at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)                at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)             

解决方案 »

  1.   

    sql语法错误,检查自己的sql语句吧.
      

  2.   

    sql语句写错了吧 看看里面的'是否匹配
      

  3.   

    SQL语法错误。
    哪有'order (orderid,username,state,city,address,zip,phone,orderdate) values ('FVVdjkP' 这么用的。
    是错写字母了吗?
      

  4.   

    呵呵...我刚开始写程序撒 ...这是我的方法..
      public boolean addOrder(String orderid,String username,String state,String city,String zip,String phone,String address,Connection conn){
    PreparedStatement ptmt=null;
    try {
    String sql = "insert into order (orderid,username,state,city,address,zip,phone,orderdate) values (?,?,?,?,?,?,?,now())";
    ptmt =conn.prepareStatement(sql);
    ptmt.setString(1,orderid);
    ptmt.setString(2, username);
    ptmt.setString(3, state);
    ptmt.setString(4, city);
    ptmt.setString(5, address);
    ptmt.setString(6, zip);
    ptmt.setString(7, phone);
    ptmt.execute();
    if (ptmt != null)
    ptmt.close();
    return true;
    } catch (SQLException e) {
    System.out.println("OrderBase method addOrder exception");
    e.printStackTrace();
    }
      return false;
    }
      

  5.   

    不要这样写,你把?的值直接写入SQL语句里试一下,我以前也碰到这样的问题,不用?就行了
      

  6.   

    好象"order" 不能做为数据表的名啊,呵呵
      

  7.   

    在MySql里order是保留字 不建议用做表名
    一定要用也可以。
    insert into `库名`.`order` (orderid,username,state,city,address,zip,phone,orderdate) values (?,?,?,?,?,?,?,now())";
    好久不用MySql了。这样好象是可以的。