la tahzan
Messages postés2Date d'inscriptionsamedi 18 mars 2006StatutMembreDernière intervention 4 avril 2011
-
4 avril 2011 à 18:20
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 2013
-
5 avril 2011 à 18:52
Bonjour et excuser moi,
je resume mon probleme:j'essaye de m'authentifier avec des comptes mais l'authentification fonctionne 1 fois sur 2. j'utilise vb6 , mysql et myodbc 5.1.Voici mon code:
Dim rs As New ADODB.Recordset
rs.Open "select * from compte where login='" & Text1.Text & "' and pwd='" & Text2.Text & "' and type='revendeur'", conn
If rs.EOF = True Then
MsgBox ("Votre login ou votre mot de passe revendeur est incorrecte")
else
........................
Le probleme que j'ai bien l'enregistrement dans ma table ,lorsque je test avec vb ca passe pas et si je prend la requete et je l'execute dans mysql elle trouve mon enregistrement.merci d'avance pour votre aide.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 4 avril 2011 à 19:49
Salut
Pourquoi tester EOF ?
Mieux vaudrait tester rs.RecordCount > 0
Bien sûr, assure-toi que ta connexion est opérationnelle en vérifiant le conn.State = adStateOpen après le conn.Open
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 4 avril 2011 à 22:23
Attention à l'injection SQL ... Perso je n'ai jamais de problèmes avec rs.EOF mais je n'ouvre pas non plus le recordset de façon habituelle :
Public Function Pure(S As String) As String
Pure = Replace(S, "'", "''")
End Function
Dim rs As ADODB.Recordset
Set rs = conn.Execute("SELECT * FROM compte WHERE login='" & Pure(Me.Text1.Text) & "' and pwd='" & Pure(Text2.Text) & "' and type='revendeur';")
If rs.EOF = True Then
MsgBox ("Votre login ou votre mot de passe revendeur est incorrect")
'[...]
End If
rs.Close : Set rs = Nothing
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question