A toi de choisir si tu veux que l"utilisateur entre une date sous le format DD/MM/YYYY ou MM/DD/YYYY.
Cependant, il faut faire attention au fait que si tu héberges ton site sur un serveur américain, la culture par défaut te forcera à entrer la date sous le format américain évidemment. Soit tu suis cette logique pour les utilisateurs, soit tu forces la culture par programme.
Ensuite, il te faut faire un casting du string entré par l'utilisateur afin d'obtenir un objet DateTime :
DateTime myDt = Convert.ToDateTime("28/12/2006");
Une fois que tu as ta date dans ton objet DateTime, il ne te reste plus qu'à laisser faire Ado.NET pour convernir ton objet DateTime en type DateTime sous SqlServer. Pour celà il faut utiliser les paramètres des objets commandes :
1 2
| SqlCommand myCommand = new SqlCommand("INSERT INTO maTable (ChampsDate) VALUES(@maDate)");
myCommand.Parameters.Add(new SqlParameter("@maDate", myDt)); |
Pour ce qui est de la lecture, tu n'auras qu'à faire un Convert.ToDateTime du String que tu auras reçu représentant ta date dans sql server.
En ce qui concerne ta question de l'heure, tu peux faire abstraction du fait que Sql Server enregistre l'heure même si tu l'as pas spécifiée car l'objet DateTime dont je t'ai parlé possède des méthodes te renvoyant la date sous format date (ToShortString() - DD/MM/YYYY), heure (ToShortTime() - HH:MM:SS), et bien d'autre encore...
Partager