[C# - OleDbDataReader] colonne de nombre reconnu a tort comme des dates.
ikaer
Messages postés42Date d'inscriptionlundi 14 janvier 2008StatutMembreDernière intervention23 septembre 2008
-
23 sept. 2008 à 15:15
titeoe
Messages postés433Date d'inscriptionsamedi 26 avril 2003StatutMembreDernière intervention 4 décembre 2009
-
30 sept. 2008 à 08:43
Salut à tous,
Je vous explique mon problème, qui pourra faire sourire.
J'utilise un OleDbDataReader pour lire le contenu d'un fichier CSV (séparateur ; ).
J'ai une colonne qui contient des valeurs numériques qqcq.
Je n'ai aucun problème avec mon datareader en temps normal.
Le problème arrive quand je ne mets pas de valeur du style X,YY ou X,Y avec X < 24 si je mets un nombre du style 22,3 ou 6,8. Mon DataReader croit que la colonne est de type date et il me sorte la date suivante : DateTime.Minimum + X heures + Y minutes (grosso modo il comprends que X,YY est un format de date du genre hh:mm (ce qui est absurde)), et pour toutes les autres valeurs qui seraient passées en temps normal il renvoie des datetime null.
Je sais pas si je suis clair en gros :
25,7
67,8
192
987
34,9
Mon datareader considère que ma colonne est bien de type number
25,7
67,8
22,7 <--
987
34,9
Mon datareader considère que l'ensemble de la colonne est de type datetime (verifié via le GetSchemaTable()).
j'ai pensé à un problème de culture j'ai tenté en utilisant des points au lieu de virgule même effet.