Je ne suis pas sûr que les guillemets aident : la base attend un "14.1",
et si on lui dit "14,1", elle risque de ne pas savoir convertir.
Pour toutes les bases, "," est le séparateur de champs, et "." le
séparateur décimal...
Si la base sait comprendre les virgules, la solution d'Alex est ok ;
sinon, il faut convertir la donnée avant de l'envoyer.
J'aurais tendance à écrire qqc qui ressemble à
Dim virgule as string, point as string
virgule = "" + valeur_14_1
point = replace(virgule, ",", ".") // je ne suis pas sûr que cette
commande existe, mais l'idée est là
puis
insert into toto(a,b,c) values ("michel", point, "paris")
Lors de l'appel à la base, il n'est pas nécessaire que le type de
données soit exact ; ici, on envoie une String pour signifier un float...
MC
Alex Thurgood wrote:
Le mercredi 24 août 2005 à 10:04 +0200, Arnaud LAURENSON - Costes
Gestion a écrit :
Bonjour,
Ma base est sous MySQL, le champ concerné est de type DOUBLE et la
valeur à insérer vaut par exemple 14,1.
Le problème est que cette virgule est interprétée comme celle qui
sépare les arguments du INSERT (insert into toto (a,b,c) values
("michel",14,1,"paris")). Avec 14.4, ça passe. Le problème est que ma
valeur est stockée dans un champ numérique et le format avec la
virgule est imposé.
Au hasard, en entourant ta valeur avec des guillemets simples ? Sinon,
il existe un bout de code dans le livre de programmation qui s'adresse à
ce problème.