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 :

Récupérer le résultat d'une requete dans une variable


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 275
    Par défaut Récupérer le résultat d'une requete dans une variable
    Bonsoir,
    Comment faire pour récupérer le résultat d'une requete dans une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    con.Open()
            Dim ol As New OleDb.OleDbDataAdapter("select nom from tab1 where login= '" & TextBox1.Text & "' and p= '" & TextBox2.Text & "'", con)
            Dim mr As New DataSet
            ol.Fill(mr)
     
    con.Close()
    merci

  2. #2
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 661
    Par défaut
    Il faut utiliser le DataSet qui est rempli par la requête.Si tu n'attends qu'un seul résultat de ta requête , il te faudra aller dans la première Table du dataset , et prendre la premiere valeur de la première Row.

  3. #3
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 275
    Par défaut
    Merci pour votre réponse mais malheureusement je n'ai pas compris ta proposition

  4. #4
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 661
    Par défaut
    Il faut utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim resultat As Object() = mr.Tables(0).Rows(0).ItemArray
    Avec ce code , on récupère les valeurs de la requête , du moins le premier résultat.Les champs sont déjà avec le bon type .Si un champs était de type INT en SQL , il le sera aussi dans ItemArray , etc ...

    Si tu veux boucler sur tous les résultats :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Dim resultat As Object()
     
    For i As Integer = 0 To mr.Tables(0).Rows.Count - 1
    		' ton travail pour chaque résultats de la requête
    	resultats = mr.Tables(0).Rows(i)
    Next
    J'ai utilisé un convertisseur C# => VB.Net , donc j'espère que tout est bon.

  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
    Juste pour information, ce n'est pas une obligation, un dataCommand seul permet de récupérer une valeur d'une cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            Using dc As New OleDb.OleDbCommand("select nom from tab1 where login= ? and p= ? ", con)
                dc.Parameters.Add("P1", OleDb.OleDbType.VarChar).Value = TextBox1.Text
                dc.Parameters.Add("P2", OleDb.OleDbType.VarChar).Value = TextBox2.Text
                Dim varNom = dc.ExecuteScalar
            End Using
    De plus, il faut TOUJOURS utiliser les requêtes paramétrées comme je l'ai fait, cela évite les injections SQL (sécurité) et c'est bien plus simple à gérer surtout quand on a des types complexes comme des dates.

  6. #6
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Citation Envoyé par Sankasssss Voir le message

    De plus, il faut TOUJOURS utiliser les requêtes paramétrées comme je l'ai fait, cela évite les injections SQL (sécurité) et c'est bien plus simple à gérer surtout quand on a des types complexes comme des dates.
    Ou quand il y a des apostrophes dans les chaînes de caractères.

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

Discussions similaires

  1. [MySQL] requete dans une table avec une varible d'une autre table
    Par kogoi dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/11/2011, 15h24
  2. [MySQL] une requete dans une requete
    Par Invité dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/08/2011, 09h49
  3. Réponses: 4
    Dernier message: 02/07/2008, 11h32
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Utilisation d'une requete dans une requete update
    Par hellbilly dans le forum Access
    Réponses: 4
    Dernier message: 09/01/2005, 15h09

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