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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
Public Class Frm_Authentification
Private Sub Frm_Authentification_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'On interdit la saisie directement dans la grille
DtgAuthentification.ReadOnly = True
'Initialisation du nombre de colonnes
DtgAuthentification.ColumnCount = 3
'Définition des entêtes et de la taille des colonnes. Attention, la numérotation des colonnes commence à 0
DtgAuthentification.Columns(0).Name = "Numéro de l'admin"
DtgAuthentification.Columns(0).Width = 200
DtgAuthentification.Columns(1).Name = "Nom d'utilisateur"
DtgAuthentification.Columns(1).Width = 200
DtgAuthentification.Columns(2).Name = "Mot de passe"
DtgAuthentification.Columns(2).Width = 200
'On cache les labels destinés a recevoir le login et le mdp
Label1.Visible = False
Label2.Visible = True
End Sub
Private Sub BtnFermer_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFermer.Click
Close()
End Sub
Private Sub BtnConnecter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnConnecter.Click
DtgAuthentification.Rows.Clear()
'tentative (try) d'ouverture d'une connexion avec le serveur de base de données
'La propriété ConnectionString de notre objet connexion doit contenir les paramètres de connexion au serveur
Dim Connexion As New SqlClient.SqlConnection
Try
Connexion.ConnectionString = "User ID=sa; PWD=UjGdAtRhjQjit8HNHoJy; Server=CLIXP-SQL2008\SQLSERVER2008; Database=Administration"
'Ouverture de la connexion
Connexion.Open()
Catch probleme As Exception
'En cas d'impossibilité, affichage d'un message
MessageBox.Show("Impossible de se connecter." & probleme.Message)
End Try
'Test de l'état (state) de la connexion : 1 signifie que la connexion est ok
If Connexion.State <> 1 Then
MessageBox.Show("La connexion au serveur n'a pas été réalisée")
Else
'Déclaration d'une variable de type chaine de caractères destinée à stocker l'ordre SQL de selection
Dim strRequete As String
'Initialisation de cette variable
strRequete = "SELECT NumAdmin, NomAdmin, PasswordAdmin FROM Administrateur where NomAdmin = '" & TxtUtilisateur.Text & "'"
'tentative d'execution de la requete sur la base de données correspondante à notre connexion
Try
'Déclaration et instanciation d'une requete avec la base de données
Dim Command As New SqlClient.SqlCommand(strRequete, Connexion)
'Déclaration d'un tableau de mémoire en lecture uniquement destiné à recevoir le résultat de la requete (SqlDataReader)
Dim SdrAuthentification As SqlClient.SqlDataReader
'Initialisation de ce tableau (execution de la requete)
SdrAuthentification = Command.ExecuteReader
'Parcours du tableau mémoire (SqlDataReader)
'Tant qu'il existe encore une ligne a lire
Do While SdrAuthentification.Read()
'Ajout de la detagridview d'une ligne correspondant à la ligne lue dans le tableau de mémoir
Me.DtgAuthentification.Rows.Add(SdrAuthentification("NumAdmin"), SdrAuthentification("NomAdmin"), SdrAuthentification("PasswordAdmin"))
Loop
'Chargement du datareader dans une datatable, qui va devenir la source de la combobox
Dim dt_Authentification As New DataTable()
dt_Authentification.Load(SdrAuthentification)
'Récupération du login et du mdp dans des labels
While SdrAuthentification.Read()
Label1.Text = SdrAuthentification.GetString(1)
Label2.Text = SdrAuthentification.GetString(2)
End While
'Comparaison avec les zones de saisis
If Label1.Text = TxtUtilisateur.Text AndAlso Label2.Text = TxtPassword.Text Then
End If
'fermeture de sqlDataReader
SdrAuthentification.Close()
Catch probleme As Exception
MessageBox.Show("L'erreur suivante a été rencontrée :" + probleme.Message)
End Try
End If
End Sub
End Class |
Partager