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 :

Aide pour compréhension fonctionnement un sys de login


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 49
    Points : 44
    Points
    44
    Par défaut Aide pour compréhension fonctionnement un sys de login
    Bonjour,

    Aprés avoir couché mon besoin sur le papier, j'ai commencé le code.

    Le form:

    Un textbox : txtLogin
    Un textbox : txtPassword
    Un bouton : OK


    Le contexte: L'utilisateur doit se connecter à un MDI pour paramétrer. Mais avant de pouvoir y accéder, il utilisera un systeme de login/mdp en interface avec une base MySQL + VB2005 express.

    Le probleme:
    Le systeme de login fonctionne mais je n'arrive pas à corriger le fonctionnement du soft dans le cas ou on entre un mauvais login/mdp, ie sans utiliser le Try.
    Si la valeur de txtLogin est correct, ie dans la base, j'utilise bien la condition de ma boucle While.

    Voici le code:

    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
     
    Imports MySql.Data.MySqlClient
     
     'Déclaration
        Dim conn As New MySqlConnection
        Dim myCommand As New MySqlCommand
        Dim RequeteSQLogin As String
        Dim myReader As MySqlDataReader
        Dim MyAdapter As MySqlDataAdapter
     
        Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
     
            'Création de la chaîne de connexion
            conn = New MySqlConnection()
            conn.ConnectionString = "server=localhost;user id=root;password=root;database=test;"
     
            'Ouvre le piège
            Try
                'Ouverture de la connexion
                conn.Open()
     
                'Requete SQL
                RequeteSQLogin = "SELECT u.password FROM user u WHERE BINARY (u.username = '" & txtLogin.Text & "')"
     
                'Ouvre le piège
                Try
                    'Execution de la requete
                    myCommand = New MySqlCommand(RequeteSQLogin, conn)
                    myReader = myCommand.ExecuteReader
     
                    'Lecture du résultat de la requete
                    While myReader.Read
                        'Test du login & mdp
                        If myReader.GetString(0) = txtPassword.Text Then
                            MessageBox.Show("Connection Opened Successfully : " & txtLogin.Text)
                            System.Threading.Thread.Sleep(500)
                            Dim mainForm As New MDIParent1
                            mainForm.Show()
                            conn.Close()
                            Me.Hide()
                            Me.Close()
                            Exit Sub
                        Else
                            MessageBox.Show("Erreur identification 1")
                            txtLogin.Clear()
                            txtPassword.Clear()
                            conn.Close()
                            Exit Sub
                        End If
                    End While
     
                Catch myerror As MySqlException
                    MsgBox("There was an error reading from the database: " & myerror.Message)
                Finally
                    'Fermeture
                    conn.Dispose()
                End Try
     
            Catch myerror As MySqlException
                txtLogin.Clear()
                txtPassword.Clear()
                MessageBox.Show(myerror.Message, "Error Connecting to Database", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Finally
                'Fermeture
                conn.Dispose()
     
            End Try
            MessageBox.Show("Erreur identification 2")
            txtLogin.Clear()
            txtPassword.Clear()
     
            'Fermeture
            conn.Close()
     
        End Sub
    Pour éviter les messageBox d'erreur identification 1 puis 2, j'ai ajouté un Exit Sub.

    Mes questions:
    Pourquoi quand j'entre un mauvais login/mdp, je tombe sur le messageBox 2 sans utiliser le Else du If dans ma boucle While ?

    Je pense que ma requete SQL dans le cas d'un mauvais login et d'un mauvais mdp tombe de fait en erreur. Comment tester sans le Try que je trouve assez "vilain" ?

    Merci de votre aide.

    @+

    Oulahoup

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 49
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    Ok c'est résolu, j'ai monté d'un niveau les clears box.

    @+

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

Discussions similaires

  1. Aide pour compréhension
    Par Goffer dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 20/10/2010, 01h24
  2. Aide pour compréhension de procedure
    Par amartik dans le forum Langage
    Réponses: 2
    Dernier message: 03/06/2010, 14h31
  3. Réponses: 10
    Dernier message: 23/05/2007, 16h55
  4. [ClearCase]AIDE pour compréhension svp!
    Par wrida dans le forum Framework .NET
    Réponses: 3
    Dernier message: 07/02/2007, 12h44
  5. Besoin d'aide pour faire fonctionner un Script d'upload d'images
    Par PaoOo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 15/06/2006, 22h24

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