System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.
drcmomo
Messages postés182Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention25 décembre 2009
-
11 mai 2007 à 22:55
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 2013
-
13 oct. 2007 à 20:27
Bonsoir!!
Voila j'ai un petit probléme, je dois rentrer une valeur decimal dans une combo, puis l'enregistrer dans une base de donnée
Le probléme quand je rentre la valeur decimal, par exemple 1.3 quand je debeud dans ma requete cette valeur change par 1,3
or SQL n'accepte pas la les nombres a virgule.
Par contre j'ai éssayé System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
Ma valeur 1.3 a été remplacer par .
Quelqu'un a une idée? merci d'avance.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 12 mai 2007 à 16:05
Salut,
Je ne suis pas sûr de bien saisir là.
Tu as une valeur décimale (stockée dans quel type ?) et tu l'enregistres en base de donnée, mais dans la requête elle apparait sous la forme "1,3" => tu n'utilises pas de requêtes paramétrées ?
drcmomo
Messages postés182Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention25 décembre 2009 12 mai 2007 à 16:29
Bonjour!!
En fait dans mon formulaire meme si je rentre un nombre decimal par (5.7)
quand j'essais de l'enregistrer dans ma table, et je mets un point d'arret sur ma requete, dans l'enregistrement j'ai pas la valeur inserer c'est a dire 5.7, plutot 5,7 les vameurs a virgule SQL ne les prend pas en compte .
la requette n'a pas de probléme ,c'est dans mon formulaire quad je rentre un nombre a un point , dans ma requette j'obtient le mm nombre par contre le point a été remplacer par une virgule.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 12 mai 2007 à 16:56
Si, ta requête à un problème : tu injectes tes données dedans à coup de concaténation de chaine.
Déjà c'est peut maintenable, tu aurais dû utiliser String.Format, beaucoup plus lisible.
Ensuite je suppose que la colonne en question est numérique en base, donc utilises une requête paramétrée et laisse le provider se débrouiller avec le type numérique que tu lui passes en valeur du paramètre.
drcmomo
Messages postés182Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention25 décembre 2009 13 mai 2007 à 09:39
Bonjour !!!
j'ai trouvé , c'est plus simple que ça.Il fallait juste faire
'" + (table.Rows[0]["DecTauxDeRemiseMaxi"].ToString().Replace(',', '.')) + "' et ça marche nikel
Merci a plus
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 13 mai 2007 à 09:57
Ok...... Bon courage quand quelqu'un avec d'autres paramètres régionaux utilisera ton application... et surtout quand quelqu'un aura découvert le problème de sécurité.
Petite note pour ceux qui passeraient par ici plus tard, la solution "plus simple" qui vient d'être citée n'est naturellement pas à adopter : vive les requêtes paramétrées.
drcmomo
Messages postés182Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention25 décembre 2009 13 mai 2007 à 11:37
lol, en fait pur les sources on n'en a parler vendredi , se sont des sources ke j'ai trouvé sur ce site et d'autres que je bricole, finalement je les mets.