Java 在mysql数据库中插入日期

Java 在mysql数据库中插入日期,java,mysql,parsing,Java,Mysql,Parsing,我使用jquery日期选择器,然后在servlet中读取它,如下所示: System.out.println("datepicker:" +dateimput); DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); java.util.Date dt = null; try { dt = df.parse(dateimput); System.ou

我使用jquery日期选择器,然后在servlet中读取它,如下所示:

System.out.println("datepicker:" +dateimput);  
    DateFormat df = new SimpleDateFormat("MM/dd/yyyy");               
    java.util.Date dt = null;
    try
    {
        dt = df.parse(dateimput);
        System.out.println("date imput parssé1 est:" +dt);
        System.out.println("date imput parsée2 est:" +df.format(dt));

    } catch (ParseException e)
   {
        e.printStackTrace();
    }
String query = "Insert into dailytimesheet(trackingDate,activity,projectCode) values ("+df.format(dt)+", \""+activity+"\" ,\""+projet+"\")";
字符串DateInput=request.getParameter(“日期选择器”)//1. 然后像这样解析它:

System.out.println("datepicker:" +dateimput);  
    DateFormat df = new SimpleDateFormat("MM/dd/yyyy");               
    java.util.Date dt = null;
    try
    {
        dt = df.parse(dateimput);
        System.out.println("date imput parssé1 est:" +dt);
        System.out.println("date imput parsée2 est:" +df.format(dt));

    } catch (ParseException e)
   {
        e.printStackTrace();
    }
String query = "Insert into dailytimesheet(trackingDate,activity,projectCode) values ("+df.format(dt)+", \""+activity+"\" ,\""+projet+"\")";
然后插入如下查询:

System.out.println("datepicker:" +dateimput);  
    DateFormat df = new SimpleDateFormat("MM/dd/yyyy");               
    java.util.Date dt = null;
    try
    {
        dt = df.parse(dateimput);
        System.out.println("date imput parssé1 est:" +dt);
        System.out.println("date imput parsée2 est:" +df.format(dt));

    } catch (ParseException e)
   {
        e.printStackTrace();
    }
String query = "Insert into dailytimesheet(trackingDate,activity,projectCode) values ("+df.format(dt)+", \""+activity+"\" ,\""+projet+"\")";
它成功通过直到现在,但如果我检查插入的记录,我发现日期: 01/01/0001 00:00:00


我已经试着修复了,但对我来说还是一团糟。

你必须以“yyyy-MM-dd”的格式传递日期。

使用,他们有一个setDate(…)方法


严肃地说,请使用事先准备好的声明!尤其是在webapp环境中。否则您将面临

在mysql中发送/应用之前,“查询”是什么样子的?显示您插入的内容DatePicker:04/30/2010日期输入部分1东部时间:Fri Apr 30 00:00:00 CEST 2010日期输入部分2东部时间:04/30/2010除非您希望SQL注入发生,应该使用
PreparedStatement
将值放入SQL语句中,而不是使用字符串连接。@Kawtusse但这是对您的noob问题的回答,至少值得一提。是的,我完全同意Guillaume的观点,出于安全性和可读性的原因,您应该使用PreparedStatement!