cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 2008
-
13 janv. 2006 à 05:15
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 2008
-
13 janv. 2006 à 12:20
Salut,
j'ai un formulaire en asp.net qui doit inscrire les nouveaux membres.
mon probleme est avec la base de donnée quand j'essaie d'insérer une date.
voici un extrait du code:
bithday est de type DateTime, et les autres variables sont des string
string cmdString = "INSERT INTO members ([username], [password], [e-mail], [birthday]) VALUES (@username,@password,@mail,@birthday)";
//la connection est correcte
OleDbConnection conn =
new OleDbConnection(connString);
Le problème est avec la date. quand je la vire, tout marche bien
quand j'entre:
string cmdString = "INSERT INTO members ([username], [password], [e-mail], [birthday]) VALUES (@username,@password,@mail,#2006-01-02 22:45:00#)";
ca marche bien
mais quand j'essaie d'utiliser les paramètres, ca marche plus :(
j'ai essayé plein de combinaison mais ca marche pas
etk, merci d avance
p.s. le champ birthday est Date/Time dans une base Access qui n'a aucun format ni aucun Input Mask
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 13 janv. 2006 à 12:20
Salut,
J'avais essayé de spécifier le type de paramètres. D'ailleurs, j'ai essayé tout les combinaisons possibles
Cependant, j'ai fini par trouver la solution (ou une solution)
Quand je faisais DateTime.Now pour la date d'anniversaire, le résultat était une date avec une heure précise aux millisecondes. La base de donnée access accepte la date avec une heure qui s'arrete aux secondes (ex.: 2006-06-07 15:45:31). Il y a donc deux solutions:
1 - declarer la date soit meme : DateTime dt = new DateTime(1987,12,17,...);
2 - utiliser la fonction suivante qui rend la date "valide" pour Access
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 13 janv. 2006 à 08:22
Salut,
essaye de préciser le format des données du parameter :
OleDbParamater parametre = new OleDbParameter("@birthday",System.Data.OleDb.OleDbDataTypes.Date);
OleDbParameter.Value = birthday;
cmd.Parameters.Add(parametre);
Il y a dans OleDbDataType tous les types qui devrait pouvoir t'intéresser : Date, DBDate, DBTime ou DBTimeSpan Personnellement je dirais Date dans ton cas, mais je ne suis pas sûr...