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
|
Friend ContenuColonne() As String
Public CheminAplication As String = Application.StartupPath
'Déclaration de la variable pour la connection
Public cnx As New OleDbConnection
'Déclaration de la variable pour la connectionstring
Private cnxstr As String
'Déclaration de la variable pour la commande
Private cmd As OleDbCommand
Public Sub OpenConnexionBdd()
'ouverture de la connexion
cnxstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & CheminAplication & "\BDD.accdb";"
cnx.ConnectionString = cnxstr
Try
cnx.Open()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Public Sub CloseConnexionBdd()
'fermeture de la connexion
Try
cnx.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Public Sub ReadBdd(ByVal LeChamp As String, ByVal LaTable As String)
Try
'Création de la requête sql
Dim SQL As String = "SELECT " & LeChamp & " FROM " & LaTable & ";"
Dim i As Long
'Création de la commande et on l'instancie (sql)
cmd = New OleDbCommand(SQL)
'On instancie la commande (cmd) à la connection (cnx)
cmd.Connection() = cnx
'récupère le contenu de la colonne
Dim dre As OleDbDataReader = cmd.ExecuteReader()
i = 0
ReDim ContenuColonne(i)
While dre.Read()
ReDim Preserve ContenuColonne(i)
ContenuColonne(i) = dre(0).ToString()
i = i + 1
End While
dre.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
'lorsque l'on active un radio bouton, la listbox1 est rempli avec ces donnée
Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged
If RadioButton1.Checked = True Then
Call OpenConnexionBdd()
Call ReadBdd("Champ2", "Table1")
Call CloseConnexionBdd()
ListBox1.DataSource = ContenuColonne
Label.Text = "Résultats: " & ContenuColonne.Count
End If
End Sub
'Pour exemple, permet de modifier une valeur de la ligne, à vous de modifier selon vos besoins
Public Sub ModifieValeurBddTable(ByVal valCle As String, ByVal val1 As String, ByVal champ1 As String)
'création de la SQL
Dim LesModifs As String = ""
'si plusieur valeur à changer, ajoutez des teste en fonction de ce que l'on veux et des paramètre dans la procedure, ou imaginer quelque chose avec un tableau
If valModele & "" <> "" Then
LesModifs = LesModifs & champ1 & " = '" & val1 & "', "
End If
'suppression de la virgule des de l'espace
LesModifs = LesModifs.Substring(0, LesModifs.Length - 2)
Dim SQL As String = "UPDATE Table1 SET " & LesModifs & " WHERE ChampCle = " & valCle & ";"
'Création de la commande et on l'instancie (sql)
cmd = New OleDbCommand(SQL)
'On instancie la commande (cmd) à la connection (cnx)
cmd.Connection() = cnx
cmd.ExecuteNonQuery()
End Sub
'et pour la suppression ou l'insertion, il suffit de mettre la bonne chaine SQL |
Partager