|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Etudiant Inscription : octobre 2012 Messages : 52 ![]() |
Bonjour à tous,
Avant de commencer, je vous souhaite à tous mes meilleurs voeux pour cette nouvelle année ! J'ai un petit problème avec ADO.NET. J'ai un programme qui récupère des valeurs dans un fichier texte et qui doit les envoyer dans une BDD Sql Server. Voici mon code : Code :
Quelqu'un à une idée ? Merci, Jah PS : Pour l'ID c'est normal, j'ai enlevé l'auto-incrémentation, aucun souci de ce côté |
||
|
|
00
|
|
|
#2 | ||
|
Membre éprouvé
![]() ![]() Inscription : septembre 2007 Messages : 373 ![]() |
Bonjour
Essayez ceci : Code :
|
||
|
|
11
|
|
|
#3 |
|
Membre à l'essai
![]() Etudiant Inscription : octobre 2012 Messages : 52 ![]() |
Merci pour ta réponse dkmix
![]() En fait, le problème vient de la date. Celle que j'extraie est au format 'MM/DD/YYYY'. Comment pallier à ce problème pour envoyer une date au format 'DD/MM/YYYY' ? |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() |
une date c'est une date, ce n'est pas un string
via un parameter de type date, ce n'est pas un string qui transite mais bien une date, soit un codage ISO sur 8 octets par contre vu que tu as un string en entrée il faut le convertir en date : Code :
param.value = date.parseexact("le string contenant la date","MM/dd/yyyy",Nothing) |
|
|
10
|
|
|
#5 |
|
Membre à l'essai
![]() Etudiant Inscription : octobre 2012 Messages : 52 ![]() |
Bonsoir Pol63,
Merci pour ta réponse, j'ai deux questions : 1) .Parameters("@date").Value = Convert.ToDateTime(dateReport) ne convertie pas un string en une date ? 2) Avec ta méthode param.value = date.parseexact("le string contenant la date","MM/dd/yyyy",Nothing), je reste avec une date au format "MM/DD/YYYY" ? Merci pour l'aide
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() |
1
convert.todatetime convertit un string en date, mais il se base sur le paramétrage régional de windows, et sur un windows francais c'est dd/mm/yyyy donc il va t'inverser le jour et le mois 2 parseexact permet de spécifier le format du string et dire où sont jours mois et autres il y a un codage, dd permet de dire jour sur 2 chiffres, d permet de dire jour sur 1 chiffre ou 2 si supérieur à 9, M MM MMM MMMM c'est mois (MMM c'est pour avoir le nom du mois abrégé, MMMM nom complet), il y a aussi h hh H HH m mm (minutes) le / veut dire caractère séparateur (défini dans windows) etc... voir msdn (format) pour avoir le détail en debug visual studio affiche les variables dates en mm/dd/yyyy (c'est là que tu as vu la valeur ou dans la base ?) quand à sql server ca dépend du paramétrage de l'utilisateur, qui permet de spécifier comment afficher une date en string et je le répète car c'est le point important vb ou sql server ne stockent pas le string de la date, mais la date sous forme binaire standard et donc indépendant de l'os ou autre |
|
|
10
|
|
|
#7 | ||
|
Membre à l'essai
![]() Etudiant Inscription : octobre 2012 Messages : 52 ![]() |
Merci pour tes explications Pol63
![]() J'aurai dû aller voir le msdn avant de te poser la question Voilà le code qui fonctionne : Code :
Merci ! |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com