Bonjour à tous,
Voila, j'ai créé un formulaire de connexion à une Base de donnée et je voudrais savoir si il y a plus simple que mon code ci-dessous pour vérifier l'accès à la BDD car je trouve qu'il est assez "compliqué"...
De plus, je voudrais savoir comment on peut fermer définitivement une form avant de passer à une autre car avec la méthode "show" et "hide" ça ne le ferme pas complétement...
Merci de vos réponses


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
 
Imports System.Data
Imports System.Data.OleDb
 
Public Class Frm_Connexion
 
    Inherits System.Windows.Forms.Form
 
    Private Sub Btn_Connexion_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Btn_Connexion.Click
 
        'Vérifie le Mot de passe
 
        Dim ObjetConnexion As OleDbConnection
        Dim ObjetCommand As OleDbCommand
        Dim ObjetDataAdapter As OleDbDataAdapter
        Dim ObjetDataSet As New DataSet
        Dim StrSql As String
        Dim ObjetDataTable As DataTable
        Dim ObjetDataRow As DataRow()
        Dim StrConnect As String
        Dim i As Integer
 
        StrConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\BDD.accdb"
        StrSql = "SELECT * FROM ID WHERE ID_Login = '" & TxtB_Login.Text & "'"
 
        Try
            ObjetConnexion = New OleDbConnection
            ObjetConnexion.ConnectionString = StrConnect
            ObjetConnexion.Open()
            ObjetCommand = New OleDbCommand(StrSql)
            ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
            ObjetCommand.Connection = ObjetConnexion
            ObjetDataAdapter.Fill(ObjetDataSet, "ID")
            ObjetDataTable = ObjetDataSet.Tables("ID")
 
            For i = 0 To (ObjetDataSet.Tables("ID").Rows.Count) - 1
                If ObjetDataSet.Tables("ID").Rows(i)(1).ToString() = TxtB_Login.Text Then
                    If ObjetDataSet.Tables("ID").Rows(i)(2).ToString() = TxtB_Mdp.Text Then
                        NumID = ObjetDataSet.Tables("ID").Rows(i)(0)
                        NomID = ObjetDataSet.Tables("ID").Rows(i)(3)
                        PrenomID = ObjetDataSet.Tables("ID").Rows(i)(4)
                        Form2.Show()
                        Me.Hide()
                    Else
                        MsgBox("Mauvais mot de passe", MsgBoxStyle.Critical, "Erreur")
                        TxtB_Mdp.Text = ""
                        TxtB_Mdp.Focus()
                    End If
                Else
                    MsgBox("Mauvais login", MsgBoxStyle.Critical, "Erreur")
                    TxtB_Login.Text = ""
                    TxtB_Mdp.Text = ""
                    TxtB_Login.Focus()
                End If
            Next i
 
            'Objet connectée
            ObjetConnexion = Nothing
            ObjetCommand = Nothing
            ObjetDataAdapter = Nothing
            'Objet déconnectée
            ObjetDataSet = Nothing
            ObjetDataTable = Nothing
            ObjetDataRow = Nothing
 
        Catch ex As Exception
            MsgBox("Erreur", MsgBoxStyle.Critical, "Erreur")
        End Try
 
    End Sub
 
    Private Sub Btn_Fermer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Fermer.Click
        'Ferme le formulaire
        Me.Close()
    End Sub