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 :

probleme dans la commande sql where valeur like


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    chargé d'affaire commercial
    Inscrit en
    Mai 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chargé d'affaire commercial
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 45
    Par défaut probleme dans la commande sql where valeur like
    Bonsoir
    ici la commande sql ou je vais cherché une somme paramétré avec plusieurs conditions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Dim cmdc As MySqlCommand = New MySqlCommand("select distinct client,sum(total_ht) from turbo_in.document_de_vente where client LIKE '%" & ComboBox5.Text & "%' and famille LIKE '%" & ComboBox3.Text & "%' and article LIKE '%" & ComboBox4.Text & "%' and lign_vte LIKE '%" & ComboBox1.Text & "%' GROUP BY client", cnar)
    si tous les combobox ( tous les conditions ) sont remplie la commande s exécute correctement et si les combobox (les conditions ) relatif aux valeurs du colonne famille et du colonne lign_vte sont remplie avec les conditions souhaité et laissé les deux autres conditions vide la commande aussi s exécute correctement et donne comme résultat les sommes du tot_ht des clients avec les deux conditions souhaité et intègre dans cette somme tous les valeurs des deux autres conditions non remplie (la condition relatif aux colonne client et aussi la condition du colonne article ) . mais si on va l'inverser remplir les deux conditions souhaité relatif aux valeurs des colonnes client et article et laissé les deux autres conditions relatif aux valeurs des colonnes famille et lign_vte vide c-a-d aucune condition de c'est deux est remplie la commande ne s exécute pas correctement et donne toujours des valeurs fausse n appartenant pas à aucun logique .

    Merci pour vos aides c est urgent .

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour Mohamed,

    Je pense que l'opérateur LIKE ne peut donner de résultats corrects quand il ne trouve aucune donnée correspondant à rien puisque paramètre absent, c'est à dire à une chaine vide.
    Il te faut contrôler chaque Combo au moment de l'écriture de l'opérateur LIKE.
    Je te propose de tester selon les codes suivants (attention, je ne les ai pas essayés, il peut y avoir une erreur de syntaxe, un apostrophe ou un guillemet mal placé) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim ChaineLike As String = "where "
    ChaineLike &= IIF(ComboBox5.Text > "", "client LIKE '%" & ComboBox5.Text & "%' ", "")   ' ComboBox5 doit avoir une donnée présente
    ChaineLike &= IIF(ComboBox3.Text > "", " and famille LIKE '%" & ComboBox3.Text & "%' ", "") ' pour les autres Combo, si il y a un vide ==> pas de LIKE pour celui-là.
    ChaineLike &= IIF(ComboBox4.Text > "", " and article LIKE '%" & ComboBox4.Text & "%' ", "")
    ChaineLike &= IIF(ComboBox1.Text > "", " and lign_vte LIKE '%" & ComboBox1.Text & "%' ", "")
     
    Dim cmdc As MySqlCommand = New MySqlCommand("select distinct client,sum(total_ht) from turbo_in.document_de_vente " & ChaineLike & " GROUP BY client", cnar)
    J'espère que ceci t'aidera ...
    Je commence ma recherche à propos de l'autre question.

    ...

    Je viens de corriger une erreur dans ma phrase SQL de ce matin.
    J'espère qu'il n'y en a pas d'autres..

  3. #3
    Membre confirmé
    Homme Profil pro
    chargé d'affaire commercial
    Inscrit en
    Mai 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : chargé d'affaire commercial
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 45
    Par défaut
    bien fonctionné Mrs Phil Rob et aussi j ai trouvè une solution pour la condition si le combobox 5 est vide d prendre la valeur de cette commande sql : where client in (tous les clients du table client)

    comme ci dessous Merci bien Phil Rb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Dim ChaineLike As String = "where "
            ChaineLike &= IIf(ComboBox5.Text > "", "client LIKE '%" & ComboBox5.Text & "%' ", "client in (select client from turbo_in.clients)")   ' ComboBox5 doit avoir une donnée présente ==> Résolue 
            ChaineLike &= IIf(ComboBox3.Text > "", " and famille LIKE '%" & ComboBox3.Text & "%' ", "") ' pour les autres Combo, si il y a un vide ==> pas de LIKE pour celui-là.
            ChaineLike &= IIf(ComboBox4.Text > "", " and article LIKE '%" & ComboBox4.Text & "%' ", "")
            ChaineLike &= IIf(ComboBox1.Text > "", " and lign_vte LIKE '%" & ComboBox1.Text & "%' ", "")
     
            Dim cmdc As MySqlCommand = New MySqlCommand("select distinct client,sum(total_ht) from turbo_in.document_de_vente " & ChaineLike & " GROUP BY client", cnar)

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

Discussions similaires

  1. [CR XI] Plage de date dans une commande SQL pour une analyse de pareto
    Par Gdf.pdo dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 03/09/2009, 11h35
  2. Probleme dans la commande 'java'
    Par mondeve dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 23/06/2009, 20h43
  3. Réponses: 7
    Dernier message: 11/09/2008, 00h12
  4. Réponses: 0
    Dernier message: 27/05/2008, 10h40
  5. Probleme Dans la syntaxe Sql
    Par itri2006 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 28/07/2007, 12h24

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