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

Accès aux données Discussion :

formulaire authentification avec SQL server et VB.net


Sujet :

Accès aux données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 120
    Points : 83
    Points
    83
    Par défaut formulaire authentification avec SQL server et VB.net
    Bonjour, je crée une application dans le cadre de mes cours et je souhaiterais savoir comment faire pour vérifier le Login et le Mot de passe dans ma base SQL j'ai un formulaire d'inscription ou tout est bien entré dans la base et la je voudrais l'authentification j'ai écrit ça pour le moment:

    Dim strConnexion As String = "Data Source=.\sqlexpress; Integrated Security=SSPI;" + "Initial Catalog=MABASE"
    Dim strRequete As String = "select (Login, Pass) from [User] where Login = ('" & TxtLog.Text & "')"
    Dim oConnection As New SqlConnection(strConnexion)
    Dim oCommand As New SqlCommand(strRequete, oConnection)
    oConnection.Open()
    dim SqlDataReader As New SqlDataReader =
    oCommand.ExecuteNonQuery()
    oConnection.Close()

    Je pense qu'il faut récupérer d'abord le login et le mot de passe puis les comparer avec le texte saisie dans le TxtLog.Text et TxtPass.Text mais je ne sais pas comment faire...
    Cordialement.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 374
    Points : 451
    Points
    451
    Par défaut
    Bonjour,
    pour récupérer les enregistrements avec un datareader.

    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
    dim Log as string
    dim Pwd as string
    dim SqlDataReader As New SqlDataReader = oCommand.ExecuteReader
     
     While sqldatareader.Read()
      log = sqldatareader.GetString(0)
      pwd = sqldatareader.getstring(1)
     End While
    sqldatareader.close
    'vérifier les textbox avec les champs de la table
    if log = textlog.text then
    ...
    else
    ...
    end if
    Bon boulot Jean

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 120
    Points : 83
    Points
    83
    Par défaut
    Bonjour, j'ai écris ce code :
    Private Sub BtnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSubmit.Click
    If TxtLog.Text = "" Or TxtPass.Text = "" Then
    MessageBox.Show("Merci de Remplir les champs", "Erreur de saisies", MessageBoxButtons.OK, MessageBoxIcon.Error)

    Else : Try
    'Chaîne de connexion
    Dim connectString As String = "Data Source=.\sqlexpress; Integrated Security=SSPI;" + "Initial Catalog=MABASE"
    'Objet connection
    Dim connection As SqlClient.SqlConnection = New SqlClient.SqlConnection(connectString)
    'Ouverture
    connection.Open()
    '--------------------------------------------------------------------------------------

    Dim command As SqlClient.SqlCommand = New SqlClient.SqlCommand("Select Login, Pass From [User] where Login = '" & TxtLog.Text & "'", connection)
    Dim reader As SqlClient.SqlDataReader = command.ExecuteReader
    While reader.Read
    Dim Log As String
    Dim Pwd As String
    Log = reader.GetString(0)
    pwd = reader.GetString(1)
    If TxtLog.Text = Log And TxtPass.Text = Pwd Then
    Me.Hide()
    Liste.Show()
    Else
    MsgBox("Accès interdit ou Vérifiez votre mot de passe")
    End If

    End While
    reader.Close()
    'Fermeture
    connection.Close()
    Catch ex As Exception
    System.Diagnostics.Debug.WriteLine("erreur")
    End Try
    End If
    End Sub

    Mais ça ne fonctionne pas il passe directement au "accès interdit" la connection à la base fonctionne mais j'ai l'impression qu'il ne récupère pas le login et le pass dans la base pour les comparer aux textbox...Merci de m'aider svp!

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    j'ai l'impression qu'il ne récupère pas le login et le pass dans la base
    As tu essayé en mode DEBUG pour être sur qu'il ne récupère pas les valeurs en base ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 120
    Points : 83
    Points
    83
    Par défaut
    comment ça?
    si tu parles du débogage de vb.net c'est avec ça que je l'exécute...

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Place un point d'arret sur la ligne ou tu récupère ta valeur en base puis passe la souris juste dessus la variable Log pour voir son contenu.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 120
    Points : 83
    Points
    83
    Par défaut
    Si c'est bon les valeurs sont bien récupérée...

  8. #8
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Si c'est Ok pense à la balise [Résolu] !

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 120
    Points : 83
    Points
    83
    Par défaut
    non ça ne marche toujours pas..en fait c'est bizarre lorsque j'essaye un autre login et pass qui ne sont pas dans la base le prog ne continu pas...c'est lorsque je rentre un login existant qu'il me dit "accès interdit"...

  10. #10
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Revérifie ta procédure ou repost là car je viens de faire des essais (je ne programme jamais en VB.Net mais en C#, de toute façon .Net et ADO.Net c'est la même chose en VB.Net, en C# ou en C++/CLI) et ca fonctionne seulement lorsque ton login et ton Pass ne sont pas dans la base le résultat de ta requete SELECT ne contient pas d'enregistrements dont il ne passe pas par le

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 120
    Points : 83
    Points
    83
    Par défaut
    j'ai trouvé en fait c'était juste qu'il y avait des espaces blanc après la valeur recuperé dans la base donc avec un Rtrim ça marche nickel

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

Discussions similaires

  1. Utilisation d'un dsn avec sql server et asp.net
    Par sadem dans le forum ADO.NET
    Réponses: 1
    Dernier message: 27/01/2011, 13h39
  2. page d'authentification avec sql server
    Par alicia26 dans le forum ASP.NET
    Réponses: 11
    Dernier message: 14/05/2009, 18h19
  3. [VB.NET] Dialoguer avec SQL Server
    Par rudbyman52 dans le forum Services Web
    Réponses: 1
    Dernier message: 06/02/2008, 11h15
  4. Problème connexion asp.net avec sql server 2000
    Par andres007 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 29/06/2007, 14h30
  5. Saut de ligne en asp.net avec sql server 2000
    Par Pedro Varela dans le forum ASP.NET
    Réponses: 7
    Dernier message: 24/01/2007, 09h07

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