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 :

erreur requete SQL dans un listBox


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2006
    Messages : 123
    Points : 59
    Points
    59
    Par défaut erreur requete SQL dans un listBox
    Salut a tous
    Tout dabord excuser pour les accents j'utilise un clavier qwerty. Thks
    je suis dans un petard et je ne sais pas comment m'en sortir. Voila je travaille sous vb 2005 utilisant une bd access. je voudrais ecrire une requete pour avoir la liste d'une propriete P1 dans une listbox2 avec pour critere des elements se trouvant dans une listbox1. J'ai ecris ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    cmd1.CommandType = CommandType.Text
    "SELECT P1 from table where P2= '" & Listbox1.Items & "'"
     datar = cmd1.ExecuteReader
      Dim l3 As Boolean
      l3 = datar.Read
      While (l3 = True)
    Listbox2.Items.Add(datar(0))
     l3 = datar.Read
     End While
     datar.Close()
    mais j'ai une erreur me disant que l'operateur '&' nest pas utilise pour les types Strings et Listbox. J'ai essaye des modif mais rien a faire et je ne sais pas aussi si ce code est aussi approprie pour ce que je veux faire. Mais la logique y est.
    Merci pour votre aide.

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    tu ne peux pas mettre ListBox1.Items mais il faut mettre Listob1.Items(Un_Index_Quelconque) ou Listbox1.SelectedItem
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Salut

    Ta requête semble perdue au milieu de nulle part... Il ne suffit pas d'écrire le code SQL de la requête, il faut l'assigner au CommandText de la commande (cmd1.CommandText = ....)

    Citation Envoyé par Namson
    la logique y est
    Désolé de te décevoir, mais... non, pas du tout
    Si tu regardes la doc de la classe ListBox, tu verras que la propriété Items est de type ListBox.ObjectCollection. Donc, une collection d'objet. Ca n'a pas de sens de mettre ça dans la requête... ça voudrait dire quoi ? que P2 est égal à la collection des éléments de la liste ?

    Je ne comprends pas exactement ce que tu essaies de faire, parce que la description du problème n'est pas très claire... Mais a priori c'est un élément de la liste que tu dois mettre dans la requête, pas la liste elle même.

    A part ça, tu peux simplifier un peu la boucle si tu veux (pas besoin de la variable I3)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    While (datar.Read)
        Listbox2.Items.Add(datar(0))
    End While

  4. #4
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2006
    Messages : 123
    Points : 59
    Points
    59
    Par défaut
    ok ce que je veux essayer de faire est d'utiliser les valeurs de ma listbox1 pour ecrire une requete pour ma listbox2. et aussi je ne veux pas selectionner une valeur de ma listbox1 avant de voir executer ma requete. Car les valeurs de ma listbox1 sont aussi les resultats d'une autre requete. jespère que vous me suivez. Ainsi les valeurs de ma listbox1 seront utilisees pour la requete. merci.

  5. #5
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    n'empêche... le champ P2 de ta table doit correspondre à 1 valeur de ta listbox1, pas toutes. Ou alors tu mets un truc genre "WHERE P2 IN (....)" en construisant la liste de valeurs à partir de la listbox1

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/09/2011, 18h24
  2. erreur requete SQL dans une JSP
    Par shada dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/08/2008, 14h57
  3. Réponses: 1
    Dernier message: 25/10/2005, 12h18
  4. Recuperer un enregistrement de requete SQL dans une variable
    Par kleenex dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/09/2005, 15h59
  5. résultat d'une requete SQL dans un tableau en JSP
    Par Paradoxys dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/04/2005, 16h17

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