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 :

Recherche sur table sql


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut Recherche sur table sql
    Bonjour à tous,

    Je veux réaliser une recherche qui en fonction du mot rentré dans la zone de recherche, la recherche se fasse dans toutes les colonnes d'une table ?

    De plus ma table comporte beaucoup de champs, donc je cherche une solution qui m'éviterai de rentrer pour chaque champ :"where (champ1 like % var) or (champ2 like %var) ... "

    Est-ce que cela serai possible ??
    Merci d'avance

    Précision:
    Cela serai pour une application VB.net pour ce qui ne l'aurait pas compris ^^

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Par défaut
    Je ne crois pas qu'il y a une requête qui fait ça ,alors tu doit gérer ça au niveau de votre code vb.net.

  3. #3
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Comment s'appellent tes colonnes?

    s'ils s'appellent Champ1, Champ2, Champ3, ....
    tu peut générer une boucle pour créer ta requête SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            Dim MaRequeteSQL As String = Nothing
     
            For i As Integer = 1 To 5
     
                If MaRequeteSQL = Nothing Then
                    'Si la chaine est vide on lui met une instruction particuliére
                    MaRequeteSQL = "where (champ1 like % var)"
                Else
                    'Sinon on ajoute les autres colonnes
                    MaRequeteSQL = MaRequeteSQL & "or (champ" & i & " like %var) "
                End If
     
            Next
    a toi de voir sa sa te convient ou si il y a des chause a rajouter,
    je l'ais fait vite fait, fait attention aux espace, et le "1 To 5" est p-e à revoir pour ton cas"
    *Juste une idée*

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut
    Pas mal ton idée hunteshiva mais malheureusement mes colonnes ne sont pas nommées "champ1,champ2..." cela aurai été trop beaux
    Leurs noms s'est par exemple "Nomcandidat, Prenomcandidat..."
    Or ton idée ma donnée une autre idée ce qui m'amène a vous poser une autre question, Peut-ton faire la même méthode avec les colonnes de ma base??

    C'est-à-dire incrémenter le numéro de colonne de la base sachant que j'ai une base locale CE ???

    Si quelqu"un trouve une solution, je suis tout ouie ^^

    Merci d'avance

  5. #5
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Peut-ton faire la même méthode avec les colonnes de ma base??

    C'est-à-dire incrémenter le numéro de colonne de la base sachant que j'ai une base locale CE ???
    C'est à dire ....

    tu en a trop dit ou pas asse
    *essaye de l'imager par du code ou des screen*

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     Dim MaRequeteSQL As String = Nothing
     
            For i As Integer = 1 To 5
     
                If MaRequeteSQL <> Nothing Then
     
                    MaRequeteSQL = MaRequeteSQL & "or (column(i) like %var) "
     
                else 
     
                    msgbox("Entrez une valeur avant de lancer la recherche !")
     
                End If
     
            Next
    Avec column(i) qui correspond aux colonnes de ma base !

    Tu vois le truc ??

  7. #7
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    ahh okay
    *même si les code que tu me met est totalement faux je comprend *

    bah c bisare ... tu change tout le temps de Nom de colonnes ...?



    en tout cas,
    pour suivre ton idée, oublie les msgBox et utilise les InputBox plutôt *tu n'arrivera a rien avec des msgBox*

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
           Dim MaRequeteSQL As String = Nothing
            Dim MonInputBox as InputBox ' ou As New je sais pas
     
            For i As Integer = 1 To 5
     
                If MaRequeteSQL = Nothing Then
                    'Si la chaine est vide on lui met une instruction particuliére
                    MonInputBox.Show
                    ' et le reste j'ais pas le temps de chercher je débauche 
                    ' mais récupére de String que tu a rentré dans on InputBox et c'est bon 
                    MaRequeteSQL = "where (champ1 like % var)"
                Else
                    'Sinon on ajoute les autres colonnes
     
                    'Pareil Ici tu appel ton InputBox
                    MaRequeteSQL = MaRequeteSQL & "or (champ" & i & " like %var) "
                End If
     
            Next
    Et il reste plus qu'a récupere ton string de l'inputBox et a l'inserer dans ta réquéte SQL mais la j'ais pas le temps dsl

    *Si quelqu'un veut lui donner la réponse, ou sinon tu a tous les élément cherche juste un peut et tu trouvera *

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut
    Ouais désolé pour le code je l'ai fais en 2 secondes javais pas trop le temps moi non plus enfin merci Quand même je vais essayer de trouver une solution autre que l'utilisation des inputboxs mais c relou à cause du Where de ma requête qui pose problème, une toute petite erreur qui pose beaucoup de problème.

  9. #9
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    tu te tracasse pour rien je trouve,
    ta base elle va jamais changer.....

    alors écrit ta requête SQL une bonne fois pour toute et tu n'aura plus a y retoucher

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut
    T'es drôle toi ^^ mais mon patron veut pouvoir faire une recherche globale dans la table en question donc comme il change tjs d'avis elle pourrai bien changée à un moment donné.

  11. #11
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    bah faut que tu lui dise qu'il peut pas avoir tout ce qu'il veut ....
    la base elle doit etre figé a un moment
    aprés tu ne doit + y toucher * j'entend par la que tu ne doit plus ajouter de colonnes ou de tables *

    si tu veut un requéte SQL qui ne recherche que sur certaines colonnes
    tu peut développer une interface qui propose le choix des colonnes et puis voila



    dérriére, tu fait du code qui permettera a ton patron de choisir les colonnes qu'il veut
    il pourra changer d'avis autant de fois qu'il le veut

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juin 2010
    Messages : 257
    Par défaut
    Merci de ta bonne humeur mais je crois que je vais réaliser une recherche par filtrage et puis c'est tout ^^ et s'il n'est pas content tanpis ^^
    Merci de ton aide à bientôt

Discussions similaires

  1. Boucle while avec action sur table SQL
    Par kamikazbe dans le forum JDBC
    Réponses: 4
    Dernier message: 01/06/2007, 11h46
  2. [Formulaire] recherche sur tables liées
    Par djudju2000 dans le forum IHM
    Réponses: 2
    Dernier message: 13/02/2007, 10h38
  3. [WD11]Recherche sur table
    Par arnaud_verlaine dans le forum WinDev
    Réponses: 1
    Dernier message: 31/01/2007, 13h11
  4. URGENT: tri sur table SQL
    Par clairette dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h53

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