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 :

authentification vb.net sql


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut authentification vb.net sql
    BONJOUR,
    j'ai crée la boite du dialog ci dessous pour faire l'authentification pour accéder au form1. Mais toujours elle m'affiche ""login ou mot de passe invalide" malgré que la mot de passe est correct.
    Je fait la comparaison avec le login et le mot de passe enregistré dans la base. Et ce qui me gène de plus que les 2 msgbox en rouge m'affiche le login et le mot de passe qui sont enregistré dans la base.
    Merci de m'aider
    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
    Imports System.Data.SqlClient
    Public Class LoginForm1
        Private con As New SqlConnection("Data Source=MTIRI-PC; Initial Catalog=base-ets-mtiri;integrated security=true; ")
        Public log As String
        Public mp As String
        Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
           
    msgbox(log)
    msgbox(mp)
            If ((login.Text = log) And (passe.Text = mp)) Then
                Me.Hide()
                Form1.Show()
            Else
                MsgBox("login ou mot de passe invalide")
            End If
    
        End Sub
    
        Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
            Me.Close()
        End Sub
    
        Private Sub LoginForm1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            
            con.Open()
            Dim dst5 As New DataSet
            Dim adpt5 As New SqlDataAdapter("select login,motpasse from [Base-Ets-Mtiri].[dbo].[UTILISATEUR]", con)
            adpt5.Fill(dst5, "t")
            log = dst5.Tables("t").Rows(0).Item(0) & vbCrLf
            mp = dst5.Tables("t").Rows(0).Item(1) & vbCrLf
            con.Close()
        End Sub
    End Class

  2. #2
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Salut,
    Tout d'abord, on ne compare pas deux chaines avec un simple "=", car selon les options du compilo, le résultat peut être différent, on utilise donc String.Compare(String, String, Boolean).

    Ensuite, en VB, pour chainer deux condition c'est AndAlso, et non And. Cela permet de ne pas continuer d'évaluer les conditions lorsqu'une seule est résolue en false.

    Enfin, ce qui ne va vraiment pas dans ton cas, c'est que log et mp ne valent pas "les login et mots de passe en base" puisque tu y ajoute un saut de ligne qui ne sera pas présent dans tes textbox.

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    log = dst5.Tables("t").Rows(0).Item(0) & vbCrLf
    mp = dst5.Tables("t").Rows(0).Item(1) & vbCrLf

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2011
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 267
    Par défaut
    Citation Envoyé par ctxnop Voir le message
    Salut,
    Tout d'abord, on ne compare pas deux chaines avec un simple "=", car selon les options du compilo, le résultat peut être différent, on utilise donc String.Compare(String, String, Boolean).

    Ensuite, en VB, pour chainer deux condition c'est AndAlso, et non And. Cela permet de ne pas continuer d'évaluer les conditions lorsqu'une seule est résolue en false.

    Enfin, ce qui ne va vraiment pas dans ton cas, c'est que log et mp ne valent pas "les login et mots de passe en base" puisque tu y ajoute un saut de ligne qui ne sera pas présent dans tes textbox.

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    log = dst5.Tables("t").Rows(0).Item(0) & vbCrLf
    mp = dst5.Tables("t").Rows(0).Item(1) & vbCrLf
    merci beaucoup ca marche

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

Discussions similaires

  1. authentification utilisateur vb.net SQL server
    Par wajaahmed dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/05/2008, 15h30
  2. [VB.NET] [SQL] Retour d'un SELECT pour un IF/ELSE
    Par nys_00 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 17/03/2005, 12h50
  3. [VB.NET] [SQL] Pb requête sql, récupérer des params. ?
    Par Pleymo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/02/2005, 20h15
  4. Hébergement ASP.NET + SQL Server
    Par papouAlain dans le forum ASP
    Réponses: 3
    Dernier message: 07/10/2004, 12h32
  5. [VB.NET] Sql plante
    Par Poussera dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/10/2004, 11h45

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