更新功能不能正常工作

问题描述:

我试图做一个更新,它不工作,并抛出这个错误:更新功能不能正常工作

[email protected]: update backup.add_event set title='hhh',eventDesc='jj',StartTime='02:00:AM' EndTime='02:00:AM',Budget=234.0,StartDate='2017-09-01',EndDate='2017-09-01',Environment=null Error=Error: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 'EndTime='02:00:AM',Budget=234.0,StartDate='2017-09-01',EndDate='2017-09-01',Envi' at line 1

我试着像检查百倍,认真找不到错误

DBAO.java: 
.... 

public boolean updateEvent(AddEvents myEvent)throws Exception{ 
    try 
    { 
     String updateStatement= "update backup.add_event set title=?,eventDesc=?,StartTime=? EndTime=?,Budget=?"; 
     updateStatement = updateStatement+",StartDate=?,EndDate=?,Environment=?"; 
     PreparedStatement prepStmt = con.prepareStatement(updateStatement); 
     prepStmt.setString(1,myEvent.getTitle()); 
     prepStmt.setString(2,myEvent.getEventDesc()); 
     prepStmt.setString(3,myEvent.getStartTime()); 
     prepStmt.setString(4,myEvent.getEndTime()); 
     prepStmt.setDouble(5,myEvent.getBudget()); 
     prepStmt.setDate(6,(Date) myEvent.getStartDate()); 
     prepStmt.setDate(7,(Date) myEvent.getEndDate()); 
     prepStmt.setString(8,myEvent.getEnvironment()); 


     System.out.println("sql=" +prepStmt.toString()); 
     int status = prepStmt.executeUpdate(); 
    if(status!=0) 
    { 
     System.out.println("Record updated"); 
     return true; 
    } 
    else 
    { 
     return false; 
    } 

}catch(Exception ex) 
{ 
    throw new Exception("Error:" +ex.getMessage()); 
} 

} 
} 
UpdateServlet: 
package servlet; 

import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 

import database.DBAO; 
import model.AddEvents; 

/** 
* Servlet implementation class UpdateServlet 
*/ 
@WebServlet("/UpdateServlet") 
public class UpdateServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public UpdateServlet() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     //response.getWriter().append("Served at: ").append(request.getContextPath()); 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     //doGet(request, response); 
     AddEvents myEvent = new AddEvents(); 

     myEvent.setTitle(request.getParameter("Title")); 
     myEvent.setEventDesc(request.getParameter("EventDesc")); 
     myEvent.setStartDate(java.sql.Date.valueOf(request.getParameter("StartDate"))); 
     myEvent.setEndDate(java.sql.Date.valueOf(request.getParameter("EndDate"))); 
     myEvent.setStartTime(request.getParameter("StartTime")); 
     myEvent.setEndTime(request.getParameter("EndTime")); 
     //myEvent.setBudget(request.getParameter("Budget")); 
     myEvent.setBudget(Double.valueOf(request.getParameter("Budget"))); 
     myEvent.setEnvironment(request.getParameter(request.getParameter("Environment"))); 
     try 
     { 
      DBAO myDatabase = new DBAO(); 
      boolean status= myDatabase.updateEvent(myEvent); 
      if(status) 
      { 
       HttpSession mysess = request.getSession(true); 
       mysess.setAttribute("Event_Info", myEvent); 
       request.getRequestDispatcher("Retrieve.jsp").forward(request, response); 

      } 
      else{ 
       request.getRequestDispatcher("Update.jsp").forward(request,response); 
      } 
     } 
     catch(Exception ex) 
     { 
      System.out.println("Error="+ex.getMessage()); 
     } 
    } 

} 
+0

*请*裁减你的代码,只给我们[最小,完整和可验证的例子](https://*.com/help/mcve) – Siyual

您错过了“StartTime =?EndTime =?”之间的逗号。