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 une valeur d'une requête SQL


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut Récupérer une valeur d'une requête SQL
    bonjour a tous voila j'ai un probleme je bosse sur vb net 2013 avec une connexion mysql
    je voudrais savoir comment recuperer une valeur de la table
    je m'explique j'ai une table utilisateur avc comme champs
    id
    user
    mdp
    typeuser
    je fais ma requette mais je ne sais pas comment recuperer le valeur typeuser voila le code que j'ai mis merci pour toute l'aide que vous pourrez me doner

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
     Dim serveurbd = "XXXXXX"
            Dim portbd = "XXXXXX"
            Dim basebd = "XXXXXX"
            Dim userbd = "XXXXXXX"
            Dim pwdbd = "XXXXXXX"
     
            cn = New MySqlConnection("SERVER=" & serveurbd & ";PORT=" & portbd & ";DATABASE=" & basebd & ";UID=" & userbd & ";PWD=" & pwdbd)
            Try
                If cn.State = ConnectionState.Closed Then
                    cn.Open()
                End If
            Catch ex As Exception
                'connection via base de donnee
                Dim cmd As New MySqlCommand("SELECT * FROM utilisateur WHERE user=@user AND pwd=@pwd", cn)
                Dim reader As MySqlDataReader
     
                cmd.Parameters.AddWithValue("@user", txtuser.Text)
                cmd.Parameters.AddWithValue("@pwd", txtpwd.Text)
     
     
                reader = cmd.ExecuteReader
     
                If reader.HasRows Then
                    MessageBox.Show(txtuser.Text & " שלום")
                    parametres.lblstatutuser.Text = reader(0)
                    Me.Hide()
                    menugeneral.Show()
     
                    cn.Close()
                Else
                    MsgBox("...טעות שם משתמש או סיסמה לא נכונה")
                    txtuser.Clear()
                    txtpwd.Clear()
                    txtuser.Focus()
     
     
                End If
     
     
            End Try
     
     
     
        End Sub

  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
    Bonsoir,

    Essaye plutôt le code suivant, tu devrais récupérer les infos que tu veux.

    Si ça ne fonctionne pas, je tâcherai de faire un exemple en Access. Tiens-moi au courant.



    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
     
     Dim serveurbd = "XXXXXX"
            Dim portbd = "XXXXXX"
            Dim basebd = "XXXXXX"
            Dim userbd = "XXXXXXX"
            Dim pwdbd = "XXXXXXX"
     
            cn = New MySqlConnection("SERVER=" & serveurbd & ";PORT=" & portbd & ";DATABASE=" & basebd & ";UID=" & userbd & ";PWD=" & pwdbd)
            Try
                If cn.State = ConnectionState.Closed Then
                    cn.Open()
                End If
                'connection via base de donnee
                Dim cmd As New MySqlCommand("SELECT * FROM utilisateur WHERE user=@user AND pwd=@pwd", cn)
                Dim reader As MySqlDataReader
     
              cmd.Parameters.AddWithValue("@user", txtuser.Text)
              cmd.Parameters.AddWithValue("@pwd", txtpwd.Text)
     
               reader = cmd.ExecuteReader
     
                Do While  reader.Read
    ' tu peux lire ici chacun des champs récupérés.
    reader.Item(0)    ' c'est l'Id 
    reader.Item(1)   ' c'est le User
    reader.Item(2)    ' c'est le mdp
    reader.Item(3)   ' c'est le TypeUser 
    ' ...
              '      MessageBox.Show(txtuser.Text & " שלום")
            '        parametres.lblstatutuser.Text = reader(0)
            '        Me.Hide()
             '       menugeneral.Show()
     
     
     
                Loop
     
                reader.Close()
                cn.Close()
     
     
     
            Catch ex As Exception
                    MsgBox("...טעות שם משתמש או סיסמה לא נכונה")
                    txtuser.Clear()
                    txtpwd.Clear()
                    txtuser.Focus()
    End Try
     
    End Sub

  3. #3
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut
    Citation Envoyé par Phil Rob Voir le message
    Bonsoir,

    Essaye plutôt le code suivant, tu devrais récupérer les infos que tu veux.

    Si ça ne fonctionne pas, je tâcherai de faire un exemple en Access. Tiens-moi au courant.



    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
     
     Dim serveurbd = "XXXXXX"
            Dim portbd = "XXXXXX"
            Dim basebd = "XXXXXX"
            Dim userbd = "XXXXXXX"
            Dim pwdbd = "XXXXXXX"
     
            cn = New MySqlConnection("SERVER=" & serveurbd & ";PORT=" & portbd & ";DATABASE=" & basebd & ";UID=" & userbd & ";PWD=" & pwdbd)
            Try
                If cn.State = ConnectionState.Closed Then
                    cn.Open()
                End If
                'connection via base de donnee
                Dim cmd As New MySqlCommand("SELECT * FROM utilisateur WHERE user=@user AND pwd=@pwd", cn)
                Dim reader As MySqlDataReader
     
              cmd.Parameters.AddWithValue("@user", txtuser.Text)
              cmd.Parameters.AddWithValue("@pwd", txtpwd.Text)
     
               reader = cmd.ExecuteReader
     
                Do While  reader.Read
    ' tu peux lire ici chacun des champs récupérés.
    reader.Item(0)    ' c'est l'Id 
    reader.Item(1)   ' c'est le User
    reader.Item(2)    ' c'est le mdp
    reader.Item(3)   ' c'est le TypeUser 
    ' ...
              '      MessageBox.Show(txtuser.Text & " שלום")
            '        parametres.lblstatutuser.Text = reader(0)
            '        Me.Hide()
             '       menugeneral.Show()
     
     
     
                Loop
     
                reader.Close()
                cn.Close()
     
     
     
            Catch ex As Exception
                    MsgBox("...טעות שם משתמש או סיסמה לא נכונה")
                    txtuser.Clear()
                    txtpwd.Clear()
                    txtuser.Focus()
    End Try
     
    End Sub
    salut a tous phil j'ai une erreur a ce niveau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    reader.Item(0)    ' c'est l'Id 
    reader.Item(1)   ' c'est le User
    reader.Item(2)    ' c'est le mdp
    reader.Item(3)   ' c'est le TypeUser
    voila ce qu il me dit
    Un accès à la propriété doit assigner la propriété ou utiliser sa valeur.

  4. #4
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 573
    Par défaut
    bonjour,
    c'est comme ça que je fais!

    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
    20
    21
    22
    23
    24
    25
     Dim dtAdapter As New MySql.Data.MySqlClient.MySqlDataAdapter, ds As New DataSet, dt As DataTable
     
     
            Dim cn As New MySql.Data.MySqlClient.MySqlConnection
            cn.ConnectionString = "SERVER=localhost;DATABASE=test;UID=root;PASSWORD=root"
            Try
                If cn.State = ConnectionState.Closed Then
                    cn.Open()
                End If
                Dim cmd As New MySqlCommand("SELECT * FROM utilisateur WHERE user=@user AND pwd=@pwd", cn)
                cmd.Parameters.AddWithValue("@user", txtuser.Text)
                cmd.Parameters.AddWithValue("@pwd", txtpwd.Text)
                dtAdapter.SelectCommand = cmd
                dtAdapter.Fill(ds)
                dt = ds.Tables(0)
    'à titre d'exemple!
                if dt.Rows.count>0 then     Me.TextBox1.Text = dt.Rows(0).Item("user")
                For Each r As DataRow In dt.Rows
                Next
               For Each ReCord As Object In dt.Rows.Cast(Of DataRow).Where(Function(u) u.Field(Of String)("user") = "toto").ToArray 
               next
            Catch ex As Exception
     
     
            End Try

  5. #5
    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
    Mais oui, mais la solution est dans le message !!!

    Dans je code que je te suggère, je te montre où tu peux avoir accès à ces valeurs (dont TypeUser, ce qui était ta question initiale).

    Mais personnellement, je ne peux rien en faire de ces valeurs : c'est à TOI de les utiliser. Mets-les dans des TextBox, affiche-les dans MessageBox, ... C'est toi qui sait ce que tu veux en faire.

    Pour moi, ce message d'erreur est bon signe : mon code est proche de la solution que tu as demandée.

    Tiens-moi au courant de la suite, si tu veux bien ....

  6. #6
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut
    bonsoir c ok tout va bien voila le code que j'ai mis ca a l'aire de marcher merci
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
             Private Sub cmdok_Click(sender As Object, e As EventArgs) Handles cmdok.Click
     
            Dim serveurbd = "XXXXX"
            Dim portbd = "XXXX"
            Dim basebd = "XXXXXX"
            Dim userbd = "XXXXXXXX"
            Dim pwdbd = "XXXXXXXXX"
     
            cn = New MySqlConnection("SERVER=" & serveurbd & ";PORT=" & portbd & ";DATABASE=" & basebd & ";UID=" & userbd & ";PWD=" & pwdbd)
     
            Try
     
     
                If cn.State = ConnectionState.Closed Then
                    cn.Open()
                End If
            Catch ex As Exception
                'connection via base de donnee
                Dim cmd As New MySqlCommand("SELECT * FROM utilisateur WHERE user=@user AND pwd=@pwd", cn)
                Dim reader As MySqlDataReader
     
                cmd.Parameters.AddWithValue("@user", txtuser.Text)
                cmd.Parameters.AddWithValue("@pwd", txtpwd.Text)
     
     
                reader = cmd.ExecuteReader
                If txtuser.Text = "dany" And txtpwd.Text = "033952615Dl" Then
                    MessageBox.Show(txtuser.Text & " שלום")
                    parametres.lblstatutuser.Text = "מנהל"
                    Me.Hide()
                    menugeneral.Show()
     
                ElseIf reader.HasRows Then
                    MessageBox.Show(txtuser.Text & " שלום")
                    Me.Hide()
                    menugeneral.Show()
     
                    'cn.Close()
     
                Else
                    MsgBox("...טעות שם משתמש או סיסמה לא נכונה")
                    txtuser.Clear()
                    txtpwd.Clear()
                    txtuser.Focus()
     
     
                End If
     
     
     
                '-------------------------
                Do While reader.Read
                    ' tu peux lire ici chacun des champs récupérés.
                    parametres.lblstatutuser.Text = reader.Item(3)   ' c'est le TypeUser 
     
                Loop
     
                reader.Close()
                cn.Close()
     
            End Try
     
     
        End Sub

  7. #7
    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
    Bravo

    Très bon dimanche

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

Discussions similaires

  1. [MySQL] Récupérer une requête SQL dans un tableau
    Par nonesofar dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/03/2016, 10h50
  2. Réponses: 4
    Dernier message: 13/04/2014, 23h28
  3. Récupérer une requête SQL dans un trigger
    Par muchmorehuman dans le forum Oracle
    Réponses: 6
    Dernier message: 23/04/2008, 11h32
  4. Récupérer une requête sql à partir d'un Form
    Par Yaponchik dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/03/2008, 10h55
  5. Réponses: 6
    Dernier message: 15/02/2007, 13h46

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