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 :

Lire dans un Base de donnée [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Par défaut Lire dans un Base de donnée
    Bonjour à tous,
    Je suis sur un projet et j'ai ajouter une connexion via la base de donner.
    J'utilise Mysql.
    Tout fonctionne mes j'aimerais ajouter lorsque la personne se connecte le logiciel va regarder dans la bdd si l'utilisateur à la key = 1
    si il à la key = 0 alors il se connecte pas c'est la que survient le problème je ne trouve pas comment faire pour que le logiciel regarde si le compte à la key.
    Pouvez vous m'aider ?
    Voici mon code pour la connexion :
    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
     
    Imports MySql.Data.MySqlClient
     
    Public Class Form1
        Dim conn As New MySqlConnection
        Private Function Connect(ByVal server As String, ByRef user As String, ByRef password As String, ByRef database As String)
            'On se connecte avec les information donner
            conn.ConnectionString = "server=" + server + ";" _
            & "user id=" + user + ";" _
            & "password=" + password + ";" _
            & "database=" + database + ";"
            Try
                'Si il y a aucune erreur on ouvre la connexion
                conn.Open()
                Return True
            Catch ex As MySqlException
                'Si il y a une erreur on affiche le message suivant
                Return MsgBox("Aucune Connexion au Mysql")
            End Try
        End Function
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Connect("localhost", "root", "", "miniteck") 'On change si besoin
        End Sub
     
        Private Sub KryptonButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KryptonButton1.Click
            Dim myCommand As New MySqlCommand
            Dim myAdapter As New MySqlDataAdapter
            Dim myData As MySqlDataReader
            Dim SQL As String
            Dim Email As String = KryptonTextBox1.Text.Replace("'", "\'")
            Dim motdepasse As String = KryptonTextBox2.Text.Replace("'", "\'")
            SQL = "SELECT * FROM `accounts` WHERE `username` = '" + Email + "' and `password` = '" + motdepasse + "'"
     
            Try
                myData = myCommand.ExecuteReader()
                myData.Read()
     
     
     
                If myData.HasRows = 0 Then 'Si le mot de passe ou l'email ne correspond pas a se qu'il y a dans la BDD alors on affiche
                    MsgBox("Il se peut que votre comptes soit invalide")
                    myData.Close()
                Else 'Si le mot de passe et l'email correspond a un compte alors on affiche
                    MsgBox("Bienvenue " + KryptonTextBox1.Text)
                    myData.Close()
                    Me.Visible = False
                    InAppWindows.Show()
                End If
            Catch ex As MySqlException
                MsgBox(ex.Message)
            End Try
        End Sub
    Merci pour votre aide.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2011
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 193
    Par défaut
    La key existe t-elle dans la table Utilisateur?
    Si oui, alors
    Puisque vous avez déjà récupéré les valeurs de la table relatives à l'utilisateur connecté via son mail et son mot de pass,
    il faut vérifier au sein de ses valeurs, si la key =1 ou 0 par rapport à cet utilisateur juste avant votre ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MsgBox("Bienvenue " + KryptonTextBox1.Text)
    de sorte que si c'est =1, il arrive à cette ligne, sinon, il refuse l'accès.

    Merci à vous et bonne chance

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Par défaut
    Bonjour tout d'abord merci de votre réponse,
    Le problème survient c'est que je ne trouve pas comment faire pour savoir si la clefs = 1 du compte qui essaye de lancer le logiciel avec le compte.
    J'ai tester plusieurs chose je tombe toujours sur la clefs = 0 alors que le compte à la clefs = 1 :S

  4. #4
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    Tu as deux solutions :

    soit tu vérifies ceci à partir de ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "SELECT * FROM `accounts` WHERE `username` = '" + Email + "' and `password` = '" + motdepasse + "' and `key` = 1"
    ou bien avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox("Bienvenue " + KryptonTextBox1.Text)
    tu mets ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If myData.GetInt16(champs) = 1 then
       ' Tout va bien
    Else
      ' Rien ne va !!!
    End If

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 22
    Par défaut
    Merci pour réponse,
    J'ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      SQL = "SELECT * FROM `accounts` WHERE `username` = '" + Email + "' and `password` = '" + motdepasse + "' and `key` = 1"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       If myData.HasRows = 0 Then 'Si le mot de passe ou l'email ne correspond pas a se qu'il y a dans la BDD alors on affiche
                    MsgBox("Il se peut que votre comptes soit invalide")
                    myData.Close()
                Else 'Si le mot de passe et l'email correspond a un compte alors on affiche
     
                    MsgBox("Bienvenue " + KryptonTextBox1.Text)
                    myData.Close()
                    Me.Visible = False
                    InAppWindows.Show()
                End If
    Tout marche merci beaucoup pour vos réponse j'espère que sa va en aider plus d'un

  6. #6
    Membre confirmé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    Non "champs" est l'index de la colonne "key"
    si par exemple tu as les colonnes suivantes :

    id - username - password - key

    donc tu vas mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If myData.GetInt16(3) = 1 then
       ' Tout va bien
    Else
      ' Rien ne va !!!
    End If

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/03/2016, 23h37
  2. [Base de donnée] Lire dans une base de données toutes les lignes
    Par Miharu dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/06/2011, 17h08
  3. Réponses: 5
    Dernier message: 10/05/2008, 17h26
  4. Réponses: 7
    Dernier message: 26/05/2007, 15h14
  5. créer une boulce pour lire dans une base de donnéé MySQL
    Par pierrot10 dans le forum Administration
    Réponses: 1
    Dernier message: 26/07/2006, 14h21

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