Transformer un champ d'un objet sqlReader en DateTime
fabian86
Messages postés31Date d'inscriptiondimanche 6 mai 2007StatutMembreDernière intervention 5 mai 2012
-
11 mai 2008 à 10:56
SharpMao
Messages postés1024Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 7 juin 2010
-
13 mai 2008 à 08:14
bonjour,
J'ai besoin d'une âme charitable qui pourrait m'aider. Je réalise une application windows connecté à une DB. J'ai une table patient qui a 5 champs (id"int auto-incrémenté", nom, prénom, téléphone 'string' et date de naissance 'DateTime')
J'ai une classe Patient qui a un constructeur avec ces 5 paramètres.
J'ai écrit ce code:
List retVal = new List(); //crée une liste pour y mettre les lignes correspondant à ma requête
try
{
con.Open();
SqlDataReader reader = com.ExecuteReader();
while (reader.Read()) //boucle le reader tant qu'il contient quelque chose
{
//crée un objet patient
Patient c = new Patient(convert.toInt32(reader[0]),
reader[1].ToString(),
reader[2].ToString()
reader[3].ToString()
reader[4].....?); //Je ne sais pas quoi mettre pour avoir cette ligne en type DateTime retVal.Add(c); //ajoute ce patient à la liste
}
}
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 11 mai 2008 à 22:49
Salut,
Convert.ToDateTime / cast / etc (en partant bien entendu du fait que le type en base de données soit bien mappé sur du DateTime en .NET)
En testant avant que la valeur ne soit pas NULL, bien entendu.
SharpMao
Messages postés1024Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 7 juin 201069 13 mai 2008 à 08:14
Hello,
Si ton champs est bien de type DateTime dans ta base de donnée, le plus simple pour récupérer un DateTime est d'utiliser la méthode GetDateTime.
Datetime dt = reader.GetDateTime(4);
Si tu ne veux que la Date, tu fais dt.Date.
Si c'est pour l'affichage, tu peux aussi utiliser un format, que ce soit dans un tableau ou avec un ToString, "dd / MM / yyyy", par exemple.
Amicalement, SharpMao
"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)