IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

[VS2003] Point à la place d'une virgule dans une String


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 142
    Par défaut [VS2003] Point à la place d'une virgule dans une String
    Bonjour tout le monde,
    J'ai des variables de type Decimal , et j'ai une requete d'update dans une BDD oracle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim X,Y,Z as Decimal
    Dim sql as string
    X=1.11
    Y=2.22
    Z=3.33
    sql = " UPDATE TableA SET X1=" & X & ",X2=" & Y & ",X3=" & Z
    et quand j'execute ma requete j'ai un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql="UPDATE TableA SET X1=1,11,X2=2,22,X3=3,33"
    alors je doit trouver un moyenne de changer la virgule de string par un point;j'ai essayer avec l'option regional et linguistique mais rien n'a changer j'ai toujours une virgule a la place de point .Je sollicite votre aide et merci .

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    C'est un sujet déjà abordé des centaines de fois sur ce forum...

    Selon la culture (langue) courante, les nombres décimaux ne s'écrivent pas de la même façon. Par exemple, en anglais ils s'écrivent avec un point, en français avec une virgule. Quand tu génères ta requête, ça utilise le format de la culture courante, donc ça met une virgule si tu es en français par exemple.

    Pour éviter ce problème, il ne faut pas générer la requête par concaténation, mais utiliser des requêtes paramétrées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim X,Y,Z as Decimal
    Dim sql as string
    X=1.11
    Y=2.22
    Z=3.33
    sql = "UPDATE TableA SET X1= @x, X2= @y, X3= @z"
    Dim cmd As New SqlCommand(sql, connection)
    cmd.Parameters.Add("@x", SqlDbType.Decimal).Value = X
    cmd.Parameters.Add("@y", SqlDbType.Decimal).Value = Y
    cmd.Parameters.Add("@z", SqlDbType.Decimal).Value = Z
    cmd.ExecuteNonQuery()
    Idem pour les dates (dont le format est différent selon la culture) ou les chaines de caractères (qui peuvent contenir le caractère ' et "casser" la requête ou permettre une attaque par injection SQL)

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo