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 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
Imports System.Data
Imports System.Data.OleDb
Imports DAO
Imports DAO.LanguageConstants
Module base
'CREE le chemin d'accès à la base
Public Function createChemin() As String
Dim chemin As String
Dim dbname As String = "Base"
Dim cheminApp As String = Application.StartupPath
cheminApp &= "\"
chemin = cheminApp & dbname & ".mdb"
'MessageBox.Show(chemin)
Return chemin
End Function
' TEST si la base existe
'renvoie ok si base existe
Public Function test() As Boolean
If System.IO.File.Exists(createChemin()) Then
Return True
Else
Return False
End If
End Function
'Declarer la connexion
Private Cnx As OleDbConnection
'Objet commande
Private Cmd As OleDbCommand
'Paramètre de connexion
Private dta As OleDbDataAdapter
Private CnxStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & createChemin() & ";"
Private dts As New DataSet
Private dt As DataTable
Private dtc As DataColumn
Private dtr As DataRow
Public Sub connection()
Try
Cnx = New OleDbConnection
'Donner à la propriété ConnectionString les paramètres de connexion
Cnx.ConnectionString = CnxStr
'Ouvrir la connexion
Cnx.Open()
'Instancier un objet Commande
Cmd = New OleDbCommand
'Lier Commande et Connexion
Cmd.Connection = Cnx
Catch ex As Exception
MsgBox("Erreur de création de la table" & vbCrLf & ex.Message, , "Erreur")
End Try
End Sub
Public Sub create_base()
Try
Dim dbe As New DBEngine
Dim db As Database
db = dbe.CreateDatabase("base", dbLangGeneral)
If Not (db Is Nothing) Then db.Close()
Catch ex As Exception
MsgBox("Erreur de création de la base de donnée" & vbCrLf & ex.Message, , "Erreur")
End Try
connection()
Try
'Indiquer le type de commande
Cmd.CommandType = CommandType.Text
Cmd.CommandText = "CREATE TABLE USERS (LOGIN CHAR(8) NOT NULL PRIMARY KEY,MDP CHAR(8) NOT NULL,QUESTION VARCHAR(32) NOT NULL,REPONSE CHAR(8) NOT NULL)"
'on exécute la commande
Cmd.ExecuteNonQuery()
'Fermer la connexion
Cnx.Close()
Catch ex As Exception
MsgBox("Erreur de création de la table USERS" & vbCrLf & ex.Message, , "Erreur")
End Try
End Sub
Public Function insert_user(ByVal login As String, ByVal mdp As String, ByVal question As String, ByVal rep As String) As Boolean
connection()
Try
'Indiquer le type de commande
Cmd.CommandType = CommandType.Text
Cmd.CommandText = "INSERT INTO USERS (LOGIN, MDP, QUESTION, REPONSE) VALUES ('" & login & "','" & mdp & "','" & question & "','" & rep & "')"
'on exécute la commande
Cmd.ExecuteNonQuery()
'Fermer la connexion
Cnx.Close()
Return True
Catch ex As Exception
MsgBox("Erreur dans l'insertion de d'un USERS" & vbCrLf & ex.Message, , "Erreur")
Return False
End Try
End Function
'Charge la table USERS en connectant
Public Sub TableUSERS(ByVal log As String)
Dim sql As String
dts.Clear()
connection()
Try
'Indiquer le type de commande
Cmd.CommandType = CommandType.Text
sql = "select * from USERS where login ='" & log & "'"
'on exécute la commande
Cmd = New OleDbCommand(sql)
dta = New OleDbDataAdapter(Cmd)
Cmd.Connection() = Cnx
dta.Fill(dts, "USERS")
dt = dts.Tables("USERS")
Catch ex As Exception
MsgBox("Erreur de recherche dans la table USERS" & vbCrLf & ex.Message, , "Erreur")
End Try
End Sub
'Vérifie si le login existe ou pas
Public Function rech_user(ByVal login As String) As Boolean
TableUSERS(login)
If dt.Rows.Count() = 0 Then
'MessageBox.Show(dt.Rows.Count())
Return False
Else
'MessageBox.Show(dt.Rows.Count())
Return True
End If
'Fermer la connexion
Cnx.Close()
End Function
'Rempli le combobox de la question et retourne la reponse
Public Function info_user(ByVal login As String) As String
TableUSERS(login)
mdpoubli.TBquest.Text = dt.Rows(0).Item(2)
Return dt.Rows(0).Item(3)
End Function
'renvoie le mot de passe
Public Function mdp_user(ByVal login As String) As String
TableUSERS(login)
Return dt.Rows(0).Item(1)
End Function
End Module |
Partager