如何使用Java(JSP)将选择的日期分别插入到mysql中

时间:2013-08-28 18:39:26

标签: java mysql jsp

在我的项目中,我希望使用选择框保存日期,该日期分别作为日,月,年分别阅读。使用的代码是

<%
     String value=null;
     String[] h=null;
      h=request.getParameterValues("qns[]");
     String expert=request.getParameter("expert");
     int sday=Integer.parseInt(request.getParameter("sday"));
     int smonth=Integer.parseInt(request.getParameter("smonth"));
     int syear=Integer.parseInt(request.getParameter("syear"));
     int eday=Integer.parseInt(request.getParameter("eday"));
     int emonth=Integer.parseInt(request.getParameter("emonth"));
     int eyear=Integer.parseInt(request.getParameter("eyear"));
     String start=syear+"-"+smonth+"-"+sday;
     String end=eyear+"-"+emonth+"-"+eday;    
   for(int i=0;i<h.length;i++)
      {
          s.savetask(h[1],expert,start,end);
      }
   %>

savetask函数是

  public int savetask(String qnid,String userid,String start,String end)
  {
     int n=0;
     try{

         String sql="insert into task(user_id,question_id,start_date,end_date,status)values('"+qnid+"','"+userid+"','"+start+"','"+end+"',0";
         n = db.modifyingQueries(sql);
     }
     catch(Exception e){

     }
     return n;
 }

但它没有在表task中插入值 任务的表格格式为

task_id      int (Auto increment)
user_id      int
question_id  int
start_date   date 
end_date     date
status       int

1 个答案:

答案 0 :(得分:0)

首先,你的sql行无效。最后给出了支架。

   String sql="insert into task(user_id,question_id,start_date,end_date,status)values
                            ('"+qnid+"','"+userid+"','"+start+"','"+end+"',0");
                                                                            ^

另外一个语法错误是"之后不需要0,因为它是int(在更新列结构后实现)。

如果您面临更多异常,请提供堆栈跟踪。

更新(有助于解决问题的评论):

你需要做的是在String sql = ...行之后,将System.out.println(sql)放在控制台中打印query。在该数据库查询管理器上点击该行并将其触发。请参阅任何语法错误。