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

Windows Forms Discussion :

[VB.NET] Sql plante


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2004
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 11
    Par défaut [VB.NET] Sql plante
    je veux récupérer les données de 2 tables dans un datagrid quand je sélectionne un client dans un combobox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Sub Grille_Consultation()
            OuvrirConnexion()
            sSQL = "SELECT FactureEnTete.CleCli, FactureEnTete.CleFac, FactureEnTete.NumFac, FactureEnTete.TypDoc, FactureEnTete.DateFact, SUM(FactureDetail.Quantite * FactureDetail.PrixUnitaire - FactureDetail.Quantite * FactureDetail.PrixUnitaire * FactureDetail.Remise / 100) AS NetHT, SUM((FactureDetail.Quantite * FactureDetail.PrixUnitaire - FactureDetail.Quantite * FactureDetail.PrixUnitaire * FactureDetail.Remise / 100)* FactureDetail.CodeTVA / 100) AS TVA, SUM(FactureDetail.Quantite * FactureDetail.PrixUnitaire - FactureDetail.Quantite * FactureDetail.PrixUnitaire * FactureDetail.Remise / 100 + (FactureDetail.Quantite * FactureDetail.PrixUnitaire - FactureDetail.Quantite * FactureDetail.PrixUnitaire * FactureDetail.Remise / 100) * FactureDetail.CodeTVA / 100) AS TTC FROM (FactureEnTete INNER JOIN   FactureDetail ON FactureEnTete.CleFac = FactureDetail.CleFac) GROUP BY FactureEnTete.CleCli, FactureEnTete.CleFac, FactureEnTete.NumFac, FactureEnTete.TypDoc,  FactureEnTete.DateFact HAVING(FactureEnTete.CleCli = '" & CInt(cbCleCliList.Text) & "') ORDER BY FactureEnTete.CleFac"
            With cmdSelect
                .Connection = cn
                .CommandType = CommandType.Text
                .CommandText = sSQL
            End With
            DsConsultFacCli1.Clear()
            daConsultFacCli.SelectCommand = cmdSelect
            daConsultFacCli.Fill(DsConsultFacCli1, "FactureEnTete")
            DataGrid2.DataSource = DsConsultFacCli1.Tables("FactureEnTete")
            FermerConnexion()
        End Sub
    en fait c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HAVING(FactureEnTete.CleCli = '" & CInt(cbCleCliList.Text) & "')
    qui pose problème. si je mets une valeur à la place de '" & CInt(cbCleCliList.text) & "' ma requete fonctionne.

    Qui peut me donner la solution?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Par défaut
    Salut,

    Je ne comprends pas pourquoi tu essaies de transformer ta valeur cbCleCliList.Text en Int pour ensuite la remettre en String. Change ta ligne SQL Having par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HAVING(FactureEnTete.CleCli = '" & cbCleCliList.Text & "')
    -----------------
    Mario Ramalho

  3. #3
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    J'ai CInt parce que dans ma table FactureEnTete le champ CleCli est un entier long et je pensais que cbCleCliList devait aussi être un integer.

    J'ai donc enlevé CInt mais ça plante encore. Et le message d'erreur est plutot pas clair :
    "Une exception non gérée du type 'System.Data.OleDbException' s'est produite dans system.data.dll"

    Est ce que ça peut pas être un problème de ' ou de " dans Having?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Par défaut
    Citation Envoyé par philippef
    J'ai CInt parce que dans ma table FactureEnTete le champ CleCli est un entier long et je pensais que cbCleCliList devait aussi être un integer.
    Ok, question suivante :
    Si CleCli est un entier, pourquoi mets-tu des apostrophes autour de la valeur dans la requête ?


    (la question suivante sera "que donne la requête quand tu l'exécutes dans l'analyseur de requêtes ?", ce qui aurait répondu à ton problème depuis un moment :)

  5. #5
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Quand je mets une valeur pour CleCli dans l'analyseur la requete fonctionne

    J'ai enlevé les apostrophes et maintenant ça marche

    Grand merci

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

Discussions similaires

  1. [postgres][vb.net][sql]syntaxe requete ajout
    Par Alex35 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/10/2005, 11h55
  2. [Vs.Net & SQL Serveur] Comment faire fonctionner le Débu
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/08/2005, 19h23
  3. [VB.NET] [SQL] Retour d'un SELECT pour un IF/ELSE
    Par nys_00 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 17/03/2005, 12h50
  4. [VB.NET] [SQL] Pb requête sql, récupérer des params. ?
    Par Pleymo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/02/2005, 20h15
  5. Hébergement ASP.NET + SQL Server
    Par papouAlain dans le forum ASP
    Réponses: 3
    Dernier message: 07/10/2004, 12h32

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