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 :

Problème requete SQL [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut Problème requete SQL
    Bonjour,
    j'ai un problème a la modification de la variable QTDISP qui est de type double. Quand je clique sur la bouton pour modifier il s'affiche un message d'erreur. Si par exemple je mets 10,53 il m'affiche
    syntaxe incorrect vers '53'
    et si je mets 10.53 il affiche aussi un message
    conversion invalide de la chaine 10.53 vers double.
    Merci de m'aider svp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            connexion.con.Open() ' ouverture de la connexion vers la base
     
            Dim tx8 As Double = TextBox8.Text
     
     
            Dim cmd3 As New SqlCommand("UPDATE [Base-Ets-Mtiri].[dbo].[ARTICLE] SET QTDISP=" & tx8 & " "WHERE ART='" & tx1 & "'", connexion.con) ' la commande
           cmd3.ExecuteNonQuery()
            connexion.con.Close()
     
        End Sub

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonsoir,

    Rien qu'en regardant les couleurs de la requête on voit que le problème se situe au niveau de la construction de celle-ci...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            connexion.con.Open() ' ouverture de la connexion vers la base
     
            Dim tx8 As Double = TextBox8.Text
     
     
            Dim cmd3 As New SqlCommand("UPDATE [Base-Ets-Mtiri].[dbo].[ARTICLE] SET QTDISP=" & tx8 & " "WHERE ART='" & tx1 & "'", connexion.con) ' la commande
           cmd3.ExecuteNonQuery()
            connexion.con.Close()
     
        End Sub
    Il ne faut jamais concaténer les requêtes.
    Si vous ne voulez pas avoir se problème, utilisez les requêtes paramétrées (voir FAQ)...

  3. #3
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Cherche de l'info sur les requêtes paramétrées

  4. #4
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Cherche de l'info sur les requêtes paramétrées
    Mais j'ai avec ce colonne 10 autre champ et ca marche bien sauf pour le cas ou je tape le type Double ce n'est pas un problème de la forme de la requête.

  5. #5
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Ce n'est pas le type doule qui pose problème mais c'est la concaténation de champ, comme je l'ai marqué, regardez la colorisation automatique et au premier coup d'oeil on voit qu'il y a un problème... (Et par conséquent, on sait même le résoudre)

    Le meilleur moyen d'éviter ce problème (et beaucoup d'autres) est dt'utiliser les requêtes paramétrées.

    Donc regardez de ce coté.

  6. #6
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut
    Citation Envoyé par Sankasssss Voir le message
    Ce n'est pas le type doule qui pose problème mais c'est la concaténation de champ, comme je l'ai marqué, regardez la colorisation automatique et au premier coup d'oeil on voit qu'il y a un problème... (Et par conséquent, on sait même le résoudre)

    Le meilleur moyen d'éviter ce problème (et beaucoup d'autres) est dt'utiliser les requêtes paramétrées.

    Donc regardez de ce coté.
    Mais non la différence de coloration parce que j'ai pas importé tous le code j'ai aucun erreur mon erreur est seulement sur le double j'ai dit que j'ai 10 textbox tous ca fonctionne bien de plus si je met un entier ca passe tres mais mais si je mais le double c'est le problème malgré que la colonne dans la base est de type double.

  7. #7
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Donc le code que vous nous donné est mauvais, donc on cherche dans la mauvaise direction car il y a un guillemet en trop avant "WHERE ART"

    donc ceci : (mauvaise coloration syntaxique)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim cmd3 As New SqlCommand("UPDATE [Base-Ets-Mtiri].[dbo].[ARTICLE] SET QTDISP=" & tx8 & " "WHERE ART='" & tx1 & "'", connexion.con) ' la commande
    est cela : (bonne coloration syntaxique)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim cmd3 As New SqlCommand("UPDATE [Base-Ets-Mtiri].[dbo].[ARTICLE] SET QTDISP=" & tx8 & "WHERE ART='" & tx1 & "'", connexion.con) ' la commande
    Le problème de conversion ne change rien à la réponse précédente, utilisez cette requête paramétrée et elle se chargera de faire les bonnes conversions, d'éviter les injections SQL, de corriger les string contenant des guillemets en les doublant etc. etc...

    Des que des paramètres proviennent d'autre part que la requête en elle même, il faut prendre le pli d'utiliser ces requêtes paramétrées, question de bon sens.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problème requete SQL dans PHP
    Par dl_jarod dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/04/2006, 14h40
  2. problème requete sql fusion de deux count
    Par TuxP dans le forum Langage SQL
    Réponses: 6
    Dernier message: 14/12/2005, 15h15
  3. Problème requete SQL
    Par tonyskn dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/11/2004, 20h37
  4. problème requete sql
    Par Fred- dans le forum ASP
    Réponses: 2
    Dernier message: 13/06/2004, 02h20
  5. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31

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