J'ai écrit un programme en java qui alimente automatiquement une base de
données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO
Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc.
Et voilà mon problème, après le changement en float je reçois par exemple 15
au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer?
Merci d'avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Népomucène
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc. Et voilà mon problème, après le changement en float je reçois par exemple 15 au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer? Merci d'avance
Bonjour,
Les causes sont multiples... ... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float (sinon la conversion ne sert à rien)
Ta requête est : INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent :
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où viennent les données et comment tu les transmet à SQL Server. Je te trouverai certainement une solution.
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de
données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO
Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc.
Et voilà mon problème, après le changement en float je reçois par exemple 15
au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer?
Merci d'avance
Bonjour,
Les causes sont multiples...
... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float
(sinon la conversion ne sert à rien)
Ta requête est :
INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête
ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent :
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où
viennent les données et comment tu les transmet à SQL Server.
Je te trouverai certainement une solution.
J'ai écrit un programme en java qui alimente automatiquement une base de données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc. Et voilà mon problème, après le changement en float je reçois par exemple 15 au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer? Merci d'avance
Bonjour,
Les causes sont multiples... ... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float (sinon la conversion ne sert à rien)
Ta requête est : INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent :
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où viennent les données et comment tu les transmet à SQL Server. Je te trouverai certainement une solution.
Skorpionik
En fait mon programme alimente la base à partir de fichiers plats, d'où les données sont extraites et envoyées directement à la base grâce aux requêtes. Est-ce possible que mon problème est lié au fait que dans le fichier texte est utilisé une virgule à la place du point dans les nombres?
"Népomucène" a écrit dans le message de news: 436d31a3$0$27409$
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc. Et voilà mon problème, après le changement en float je reçois par exemple 15 au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer? Merci d'avance
Bonjour,
Les causes sont multiples... ... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float (sinon la conversion ne sert à rien)
Ta requête est : INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent :
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où viennent les données et comment tu les transmet à SQL Server. Je te trouverai certainement une solution.
En fait mon programme alimente la base à partir de fichiers plats, d'où les
données sont extraites et envoyées directement à la base grâce aux requêtes.
Est-ce possible que mon problème est lié au fait que dans le fichier texte
est utilisé une virgule à la place du point dans les nombres?
"Népomucène" <brunopasdespamcollin@wandadoopasdespam.fr> a écrit dans le
message de news: 436d31a3$0$27409$8fcfb975@news.wanadoo.fr...
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de
données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO
Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc.
Et voilà mon problème, après le changement en float je reçois par exemple
15
au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer?
Merci d'avance
Bonjour,
Les causes sont multiples...
... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float
(sinon la conversion ne sert à rien)
Ta requête est :
INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête
ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent
:
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où
viennent les données et comment tu les transmet à SQL Server.
Je te trouverai certainement une solution.
En fait mon programme alimente la base à partir de fichiers plats, d'où les données sont extraites et envoyées directement à la base grâce aux requêtes. Est-ce possible que mon problème est lié au fait que dans le fichier texte est utilisé une virgule à la place du point dans les nombres?
"Népomucène" a écrit dans le message de news: 436d31a3$0$27409$
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc. Et voilà mon problème, après le changement en float je reçois par exemple 15 au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer? Merci d'avance
Bonjour,
Les causes sont multiples... ... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float (sinon la conversion ne sert à rien)
Ta requête est : INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent :
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où viennent les données et comment tu les transmet à SQL Server. Je te trouverai certainement une solution.
Skorpionik
En fait mon programme alimente la base à partir de fichiers plats, d'où les données sont extraites et envoyées directement à la base grâce aux requêtes. Est-ce possible que mon problème est lié au fait que dans le fichier texte est utilisé une virgule à la place du point dans les nombres?
"Népomucène" a écrit dans le message de news: 436d31a3$0$27409$
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc. Et voilà mon problème, après le changement en float je reçois par exemple 15 au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer? Merci d'avance
Bonjour,
Les causes sont multiples... ... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float (sinon la conversion ne sert à rien)
Ta requête est : INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent :
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où viennent les données et comment tu les transmet à SQL Server. Je te trouverai certainement une solution.
En fait mon programme alimente la base à partir de fichiers plats, d'où les
données sont extraites et envoyées directement à la base grâce aux requêtes.
Est-ce possible que mon problème est lié au fait que dans le fichier texte
est utilisé une virgule à la place du point dans les nombres?
"Népomucène" <brunopasdespamcollin@wandadoopasdespam.fr> a écrit dans le
message de news: 436d31a3$0$27409$8fcfb975@news.wanadoo.fr...
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de
données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO
Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc.
Et voilà mon problème, après le changement en float je reçois par exemple
15
au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer?
Merci d'avance
Bonjour,
Les causes sont multiples...
... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float
(sinon la conversion ne sert à rien)
Ta requête est :
INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête
ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent
:
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où
viennent les données et comment tu les transmet à SQL Server.
Je te trouverai certainement une solution.
En fait mon programme alimente la base à partir de fichiers plats, d'où les données sont extraites et envoyées directement à la base grâce aux requêtes. Est-ce possible que mon problème est lié au fait que dans le fichier texte est utilisé une virgule à la place du point dans les nombres?
"Népomucène" a écrit dans le message de news: 436d31a3$0$27409$
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc. Et voilà mon problème, après le changement en float je reçois par exemple 15 au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer? Merci d'avance
Bonjour,
Les causes sont multiples... ... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float (sinon la conversion ne sert à rien)
Ta requête est : INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent :
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où viennent les données et comment tu les transmet à SQL Server. Je te trouverai certainement une solution.
Népomucène
Je suppose que ton application Java lit les fichiers, sélectionne uniquement les informations intéressantes puis exécute une requête d'insertion dans SQL Server. Si c'est le cas, le plus efficace est de composer une chaîne de caractères qui contient l'ordre SQL d'insertion :
Ton application a récupéré 3 valeurs X1, X2, X3 telles que :
INSERT INTO MaTable (C1,C2,C3) VALUES('Coucou', 53.75, 125.83)
(fais très attention aux apostrophes si tu as un champ caractère). C'est là que tu vois que les virgules ont été transformées en points. Sinon, SQL Server va interpréter la virgule comme séparateur de champ et non comme séparateur décimal.
Enfin, il faut faire exécuter cet ordre avec un ordre du type MonStatement.execute(SQL); (je suppose que sais faire sinon je t'envoie le code)
Bon, cela dit, cette façon de faire suppose que les fichiers plats sont petits ; car l'inconvénient est de traiter les enregistrements un par un ce que la morale "base de données" réprouve !!!!
Si ton serveur SQL Server peut accéder directement aux fichiers plats, il est préférable d'utiliser un lot DTS (facile à construire avec l'assistant dans Enteprise Manager, beaucoup plus simple qu'un programme Java et d'une rapidité foudroyante). Ce type de lot est déclenchable automatiquement ou à la demande depuis ton application Java.
je ne sais pas si tu es plus à l'aise en Java ou en SQL Server...
dis-moi ce que tu en penses.
En fait mon programme alimente la base à partir de fichiers plats, d'où les données sont extraites et envoyées directement à la base grâce aux requêtes. Est-ce possible que mon problème est lié au fait que dans le fichier texte est utilisé une virgule à la place du point dans les nombres?
"Népomucène" a écrit dans le message de news: 436d31a3$0$27409$
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc. Et voilà mon problème, après le changement en float je reçois par exemple 15 au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer? Merci d'avance
Bonjour,
Les causes sont multiples... ... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float (sinon la conversion ne sert à rien)
Ta requête est : INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent :
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où viennent les données et comment tu les transmet à SQL Server. Je te trouverai certainement une solution.
Je suppose que ton application Java lit les fichiers, sélectionne
uniquement les informations intéressantes puis exécute une requête
d'insertion dans SQL Server.
Si c'est le cas, le plus efficace est de composer une chaîne de
caractères qui contient l'ordre SQL d'insertion :
Ton application a récupéré 3 valeurs X1, X2, X3 telles que :
INSERT INTO MaTable (C1,C2,C3) VALUES('Coucou', 53.75, 125.83)
(fais très attention aux apostrophes si tu as un champ caractère).
C'est là que tu vois que les virgules ont été transformées en points.
Sinon, SQL Server va interpréter la virgule comme séparateur de champ et
non comme séparateur décimal.
Enfin, il faut faire exécuter cet ordre avec un ordre du type
MonStatement.execute(SQL);
(je suppose que sais faire sinon je t'envoie le code)
Bon, cela dit, cette façon de faire suppose que les fichiers plats sont
petits ; car l'inconvénient est de traiter les enregistrements un par un
ce que la morale "base de données" réprouve !!!!
Si ton serveur SQL Server peut accéder directement aux fichiers plats,
il est préférable d'utiliser un lot DTS (facile à construire avec
l'assistant dans Enteprise Manager, beaucoup plus simple qu'un programme
Java et d'une rapidité foudroyante).
Ce type de lot est déclenchable automatiquement ou à la demande depuis
ton application Java.
je ne sais pas si tu es plus à l'aise en Java ou en SQL Server...
dis-moi ce que tu en penses.
En fait mon programme alimente la base à partir de fichiers plats, d'où les
données sont extraites et envoyées directement à la base grâce aux requêtes.
Est-ce possible que mon problème est lié au fait que dans le fichier texte
est utilisé une virgule à la place du point dans les nombres?
"Népomucène" <brunopasdespamcollin@wandadoopasdespam.fr> a écrit dans le
message de news: 436d31a3$0$27409$8fcfb975@news.wanadoo.fr...
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de
données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO
Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc.
Et voilà mon problème, après le changement en float je reçois par exemple
15
au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer?
Merci d'avance
Bonjour,
Les causes sont multiples...
... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float
(sinon la conversion ne sert à rien)
Ta requête est :
INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête
ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent
:
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où
viennent les données et comment tu les transmet à SQL Server.
Je te trouverai certainement une solution.
Je suppose que ton application Java lit les fichiers, sélectionne uniquement les informations intéressantes puis exécute une requête d'insertion dans SQL Server. Si c'est le cas, le plus efficace est de composer une chaîne de caractères qui contient l'ordre SQL d'insertion :
Ton application a récupéré 3 valeurs X1, X2, X3 telles que :
INSERT INTO MaTable (C1,C2,C3) VALUES('Coucou', 53.75, 125.83)
(fais très attention aux apostrophes si tu as un champ caractère). C'est là que tu vois que les virgules ont été transformées en points. Sinon, SQL Server va interpréter la virgule comme séparateur de champ et non comme séparateur décimal.
Enfin, il faut faire exécuter cet ordre avec un ordre du type MonStatement.execute(SQL); (je suppose que sais faire sinon je t'envoie le code)
Bon, cela dit, cette façon de faire suppose que les fichiers plats sont petits ; car l'inconvénient est de traiter les enregistrements un par un ce que la morale "base de données" réprouve !!!!
Si ton serveur SQL Server peut accéder directement aux fichiers plats, il est préférable d'utiliser un lot DTS (facile à construire avec l'assistant dans Enteprise Manager, beaucoup plus simple qu'un programme Java et d'une rapidité foudroyante). Ce type de lot est déclenchable automatiquement ou à la demande depuis ton application Java.
je ne sais pas si tu es plus à l'aise en Java ou en SQL Server...
dis-moi ce que tu en penses.
En fait mon programme alimente la base à partir de fichiers plats, d'où les données sont extraites et envoyées directement à la base grâce aux requêtes. Est-ce possible que mon problème est lié au fait que dans le fichier texte est utilisé une virgule à la place du point dans les nombres?
"Népomucène" a écrit dans le message de news: 436d31a3$0$27409$
Bonjour,
J'ai écrit un programme en java qui alimente automatiquement une base de données en SQL Server, en utilisant des requêtes suivantes: INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2)) etc. Et voilà mon problème, après le changement en float je reçois par exemple 15 au lieu de 15,99. Est-ce que quelqu'un sait comment on peut le changer? Merci d'avance
Bonjour,
Les causes sont multiples... ... et ce n'est probablement pas un problème java.
La première chose à faire est de vérifier que C2 est bien de type float (sinon la conversion ne sert à rien)
Ta requête est : INSERT INTO Table (C1, C2) VALUES (X1,CONVERT(float,X2))
Il faudrait m'en indiquer un peu plus car normalement cette requête ne peut pas fonctionner sur SQL Server. Deux possibilités qui fonctionent :
INSERT INTO Table (C1, C2) SELECT X1,CONVERT(float,X2) FROM TableOrigine
ou
INSERT INTO Table (C1, C2) VALUES (@X1,CONVERT(float,@X2))
en ayant préalablement déclaré @X1 et @X2
En fait, pour bien te guider, il faut me décrire exactement d'où viennent les données et comment tu les transmet à SQL Server. Je te trouverai certainement une solution.
Simon OUALID
Népomucène wrote:
(fais très attention aux apostrophes si tu as un champ caractère). C'est là que tu vois que les virgules ont été transformées en points. Sinon, SQL Server va interpréter la virgule comme séparateur de champ et non comme séparateur décimal.
Mieux : utiliser un PreparedStatement et les setters associés, qui ne sera compilé qu'une fois et qui se chargera des conversions d'apostrophes et autres caractères spéciaux...
Il prendra également en charge la gestion des virgule ou des points pour les décimaux en fonction de la Locale de l'utilisateur.
Plus performant et plus robuste, donc. http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html
Symon
Népomucène wrote:
(fais très attention aux apostrophes si tu as un champ caractère).
C'est là que tu vois que les virgules ont été transformées en points.
Sinon, SQL Server va interpréter la virgule comme séparateur de champ et
non comme séparateur décimal.
Mieux : utiliser un PreparedStatement et les setters associés, qui ne
sera compilé qu'une fois et qui se chargera des conversions
d'apostrophes et autres caractères spéciaux...
Il prendra également en charge la gestion des virgule ou des points pour
les décimaux en fonction de la Locale de l'utilisateur.
Plus performant et plus robuste, donc.
http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html
(fais très attention aux apostrophes si tu as un champ caractère). C'est là que tu vois que les virgules ont été transformées en points. Sinon, SQL Server va interpréter la virgule comme séparateur de champ et non comme séparateur décimal.
Mieux : utiliser un PreparedStatement et les setters associés, qui ne sera compilé qu'une fois et qui se chargera des conversions d'apostrophes et autres caractères spéciaux...
Il prendra également en charge la gestion des virgule ou des points pour les décimaux en fonction de la Locale de l'utilisateur.
Plus performant et plus robuste, donc. http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html