Requête Sql SELECT et variable VBA

Signaler
Messages postés
58
Date d'inscription
dimanche 19 septembre 2010
Statut
Membre
Dernière intervention
26 juillet 2013
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour a tous!

voila n’étant pas d'un très bon niveau, j'ai eut beau chercher sur internet je n'ai rien trouve de compréhensible je travail donc sur un projet perso j'utilise Visual Studio 2010 avec une base de donnée Access et une connection OleDb...j'ai une requete SQL en SELECT et je voudrai arriver a mettre le resultat de cette requete dans une variable. voici mon code:

Dim mdp As String
Dim MaConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OleDb.12.0; Data source=BDD projet.accdb")
Dim MaCommande As OleDbCommand = MaConnexion.CreateCommand()
mdp MaCommande.CommandText "SELECT MDP FROM SOIGNANT WHERE ID=" & id.Text & ";"
Try
MaConnexion.Open()
Dim monreader As OleDbDataReader = MaCommande.ExecuteReader()
monreader.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
MsgBox(mdp)


Seulement a la fin la msgbox me retourne False est ce que quelqu'un peut m'aider???

5 réponses

Messages postés
58
Date d'inscription
dimanche 19 septembre 2010
Statut
Membre
Dernière intervention
26 juillet 2013
1
Bonjour a tous
Merci pour vos reponses cependant ucfoutu ce que tu raconte n'a aucun sens..... bref

j'ai reussi a regler le pb donc c'est simple:

 Dim mdp As String
        Dim MaConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OleDb.12.0; Data source=BDD projet.accdb")
        Dim MaCommande As OleDbCommand = MaConnexion.CreateCommand()
        MaCommande.CommandText = "SELECT MDP FROM SOIGNANT WHERE ID='" & id.Text & "';"
        Try
            MaConnexion.Open()
            Dim monreader As OleDbDataReader = MaCommande.ExecuteReader()
            monreader.Read()
            mdp = monreader.GetString(0)
            monreader.Close()
            MaConnexion.Close()
        Catch ex As Exception
            mdp = ex.Message
        End Try
        If (motdepasse.Text = mdp) Then
            erreur.Text = ""
            Label1.Show()
            Timer1.Start()
        Else
            erreur.Text = "MOT DE PASSE OU IDENTIFIANT INCORRECT!!!"
        End If
    End Sub


j'avais juste oublie de lire monreader!!! =) (
monreader.Read()
)
Merci a tous! X)

As-tu vérifié que ta requête SQL tournait bien avec ta valeur récupérée ?


--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
224
Bonjour,
Un simple msgbox de ta requête t'aurait permis de voir ce qui n'allait pas !
supposons que ID.Text = "ohlala"
Elle ne doit pas contenir ...... ID=ohlala ... mais : ......ID="ohlala" !
et donc ===W>>
"SELECT MDP FROM SOIGNANT WHERE ID=""" & ID.Text & """;"

Il te faut toujours avoir ces réflexes avant de foncer, tête baissée, vers un forum !

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
58
Date d'inscription
dimanche 19 septembre 2010
Statut
Membre
Dernière intervention
26 juillet 2013
1
ha et pour ucfoutu
Un simple msgbox de ta requête t'aurait permis de voir ce qui n'allait pas !


a ton avis a quoi sert
MsgBox(ex.Message)
mis a part retourner l'erreur qu'il se produit lors de l'execution du code???
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
224
Tu m'as l'air d'être vraiment très fort, toi !
Ta requête n'est pas ex.Message, mais MaCommande.CommandText
et tu l'as corrigée : passée de :
"SELECT MDP FROM SOIGNANT WHERE ID=" & id.Text & ";"

à
"SELECT MDP FROM SOIGNANT WHERE ID='" & id.Text & "';"

qui te donne exactement le même résultat que ce que je t'avais dit, à savoir :
"SELECT MDP FROM SOIGNANT WHERE ID=""" & ID.Text & """;"

Bref ...
je vais surtout retenir ceci (juste pour me le rappeler et ne plus jamais te répondre de sorte à ne pas avoir ce genre de remarque totalement infondée;;; alors même que ta requête était, comme je te l'avais dit, mal construite) :
cependant ucfoutu ce que tu raconte n'a aucun sens..... bref




____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'e