J'utilise un datepicker jquery alors je l'ai lu dans mon servlet comme ça:insérer une date dans la base de données MySQL
Chaîne dateimput = request.getParameter ("DatePicker"); // 1 alors comme Parse que:
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();
}
et insérer la requête comme:
String query = "Insert into dailytimesheet(trackingDate,activity,projectCode) values ("+df.format(dt)+", \""+activity+"\" ,\""+projet+"\")";
passer avec succès jusqu'à ce moment, mais si je vérifie l'enregistrement inséré j'ai trouvé la date: 01/01/0001 00:00:00
J'ai essayé de résoudre le problème, mais c'est toujours un problème pour moi.
À quoi ressemble "requête" avant d'envoyer/de s'appliquer dans mysql? Montrez-nous ce que vous insérez – basszero
datepicker: 30/04/2010 date imput parssé1 est: Ven Avr 30 00:00:00 CEST 2010 date imput parsée2 est: 04/30/2010 – kawtousse
Sauf si vous souhaitez que les injections SQL se produisent , on devrait utiliser 'PreparedStatement' pour placer les valeurs dans une instruction SQL plutôt que d'utiliser la concaténation de chaîne. – coobird