Java 在mysql数据库中插入日期
我使用jquery日期选择器,然后在servlet中读取它,如下所示: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
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!