Ce guide explique étape par étape comment ouvrir une base de données Access 2010 (.accdb) dans VB.NET en utilisant ADO.NET.
System.Data.OleDb
est ajoutée à votre projet.Voici un exemple simple pour ouvrir une connexion à une base de données Access.
Imports System.Data.OleDb
Module Module1
Sub Main()
' Chemin vers le fichier Access (.accdb)
Dim cheminBase As String = "C:\Chemin\Vers\VotreBase.accdb" ' Modifiez avec le chemin de votre fichier
' Chaîne de connexion pour Access 2010 et plus
Dim chaineConnexion As String = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={cheminBase};Persist Security Info=False;"
' Créer une connexion à la base
Using connexion As New OleDbConnection(chaineConnexion)
Try
' Ouvrir la connexion
connexion.Open()
Console.WriteLine("Connexion réussie à la base de données !")
' Exemple de requête SQL pour lire des données
Dim requete As String = "SELECT * FROM VotreTable" ' Remplacez "VotreTable" par le nom de votre table
' Exécuter la commande
Using commande As New OleDbCommand(requete, connexion)
Using lecteur As OleDbDataReader = commande.ExecuteReader()
While lecteur.Read()
' Lire et afficher les données
Console.WriteLine(lecteur("NomColonne")) ' Remplacez "NomColonne" par le nom d'une colonne
End While
End Using
End Using
Catch ex As Exception
' Gérer les erreurs
Console.WriteLine("Erreur : " & ex.Message)
Finally
' Fermer la connexion
connexion.Close()
Console.WriteLine("Connexion fermée.")
End Try
End Using
' Pause pour voir les résultats
Console.ReadLine()
End Sub
End Module
Microsoft.ACE.OLEDB.12.0
pour les fichiers Access 2010 et plus."C:\Chemin\Vers\VotreBase.accdb"
par le chemin de votre fichier Access."SELECT * FROM VotreTable"
pour interroger les données que vous souhaitez afficher.ExecuteReader
permet de lire les données ligne par ligne dans la table.Vous pouvez insérer des données dans la base Access en utilisant une requête SQL INSERT
.
Dim requeteInsertion As String = "INSERT INTO VotreTable (Colonne1, Colonne2) VALUES ('Valeur1', 'Valeur2')"
' Remplacez "VotreTable", "Colonne1", "Colonne2", et les valeurs par vos données
Using commande As New OleDbCommand(requeteInsertion, connexion)
commande.ExecuteNonQuery()
Console.WriteLine("Données insérées avec succès !")
End Using
Jet OLEDB:Database Password=VotreMotDePasse;
Provider not registered
, installez le runtime Microsoft Access Database Engine.Lors de l’exécution :
Voici un exemple combinant lecture et insertion.
Imports System.Data.OleDb
Module Module1
Sub Main()
Dim cheminBase As String = "C:\Chemin\Vers\VotreBase.accdb"
Dim chaineConnexion As String = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={cheminBase};Persist Security Info=False;"
Using connexion As New OleDbConnection(chaineConnexion)
Try
connexion.Open()
Console.WriteLine("Connexion réussie à la base de données.")
' Lire les données
Dim requeteLecture As String = "SELECT * FROM VotreTable"
Using commandeLecture As New OleDbCommand(requeteLecture, connexion)
Using lecteur As OleDbDataReader = commandeLecture.ExecuteReader()
Console.WriteLine("Données actuelles :")
While lecteur.Read()
Console.WriteLine(lecteur("NomColonne")) ' Remplacez "NomColonne" par votre colonne
End While
End Using
End Using
' Insérer des données
Dim requeteInsertion As String = "INSERT INTO VotreTable (Colonne1, Colonne2) VALUES ('NouvelleValeur1', 'NouvelleValeur2')"
Using commandeInsertion As New OleDbCommand(requeteInsertion, connexion)
commandeInsertion.ExecuteNonQuery()
Console.WriteLine("Nouvelle ligne insérée.")
End Using
Catch ex As Exception
Console.WriteLine("Erreur : " & ex.Message)
Finally
connexion.Close()
Console.WriteLine("Connexion fermée.")
End Try
End Using
Console.ReadLine()
End Sub
End Module
Avec ce guide, vous pouvez ouvrir, lire et manipuler une base de données Access 2010 avec VB.NET.
Voici quelques exemples pratiques pour travailler avec une base de données Access 2010 (.accdb) en VB.NET. Ces exemples couvrent différentes opérations comme l’ouverture, la lecture, l’insertion, la mise à jour et la suppression de données.
Imports System.Data.OleDb
Module Module1
Sub Main()
' Chemin vers le fichier Access
Dim cheminBase As String = "C:\Chemin\Vers\VotreBase.accdb"
Dim chaineConnexion As String = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={cheminBase};Persist Security Info=False;"
Using connexion As New OleDbConnection(chaineConnexion)
Try
connexion.Open()
Console.WriteLine("Connexion réussie.")
' Lire les données de la table "Clients"
Dim requete As String = "SELECT * FROM Clients"
Using commande As New OleDbCommand(requete, connexion)
Using lecteur As OleDbDataReader = commande.ExecuteReader()
While lecteur.Read()
Console.WriteLine($"ID: {lecteur("ID")}, Nom: {lecteur("Nom")}, Prénom: {lecteur("Prénom")}")
End While
End Using
End Using
Catch ex As Exception
Console.WriteLine("Erreur : " & ex.Message)
Finally
connexion.Close()
End Try
End Using
Console.ReadLine()
End Sub
End Module
Imports System.Data.OleDb
Module Module1
Sub Main()
' Chemin vers le fichier Access
Dim cheminBase As String = "C:\Chemin\Vers\VotreBase.accdb"
Dim chaineConnexion As String = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={cheminBase};Persist Security Info=False;"
Using connexion As New OleDbConnection(chaineConnexion)
Try
connexion.Open()
Console.WriteLine("Connexion réussie.")
' Ajouter une nouvelle ligne dans la table "Clients"
Dim requete As String = "INSERT INTO Clients (Nom, Prénom, Email) VALUES ('Dupont', 'Jean', 'jean.dupont@example.com')"
Using commande As New OleDbCommand(requete, connexion)
Dim lignesAffectees As Integer = commande.ExecuteNonQuery()
Console.WriteLine($"Nombre de lignes insérées : {lignesAffectees}")
End Using
Catch ex As Exception
Console.WriteLine("Erreur : " & ex.Message)
Finally
connexion.Close()
End Try
End Using
Console.ReadLine()
End Sub
End Module
Imports System.Data.OleDb
Module Module1
Sub Main()
' Chemin vers le fichier Access
Dim cheminBase As String = "C:\Chemin\Vers\VotreBase.accdb"
Dim chaineConnexion As String = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={cheminBase};Persist Security Info=False;"
Using connexion As New OleDbConnection(chaineConnexion)
Try
connexion.Open()
Console.WriteLine("Connexion réussie.")
' Mettre à jour l'email d'un client spécifique
Dim requete As String = "UPDATE Clients SET Email = 'nouveau.email@example.com' WHERE ID = 1"
Using commande As New OleDbCommand(requete, connexion)
Dim lignesAffectees As Integer = commande.ExecuteNonQuery()
Console.WriteLine($"Nombre de lignes mises à jour : {lignesAffectees}")
End Using
Catch ex As Exception
Console.WriteLine("Erreur : " & ex.Message)
Finally
connexion.Close()
End Try
End Using
Console.ReadLine()
End Sub
End Module
Imports System.Data.OleDb
Module Module1
Sub Main()
' Chemin vers le fichier Access
Dim cheminBase As String = "C:\Chemin\Vers\VotreBase.accdb"
Dim chaineConnexion As String = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={cheminBase};Persist Security Info=False;"
Using connexion As New OleDbConnection(chaineConnexion)
Try
connexion.Open()
Console.WriteLine("Connexion réussie.")
' Supprimer un client par ID
Dim requete As String = "DELETE FROM Clients WHERE ID = 2"
Using commande As New OleDbCommand(requete, connexion)
Dim lignesAffectees As Integer = commande.ExecuteNonQuery()
Console.WriteLine($"Nombre de lignes supprimées : {lignesAffectees}")
End Using
Catch ex As Exception
Console.WriteLine("Erreur : " & ex.Message)
Finally
connexion.Close()
End Try
End Using
Console.ReadLine()
End Sub
End Module
Les paramètres sont essentiels pour éviter les attaques par injection SQL et pour rendre votre code plus dynamique.
Imports System.Data.OleDb
Module Module1
Sub Main()
' Chemin vers le fichier Access
Dim cheminBase As String = "C:\Chemin\Vers\VotreBase.accdb"
Dim chaineConnexion As String = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={cheminBase};Persist Security Info=False;"
Using connexion As New OleDbConnection(chaineConnexion)
Try
connexion.Open()
Console.WriteLine("Connexion réussie.")
' Ajouter un nouveau client avec des paramètres
Dim requete As String = "INSERT INTO Clients (Nom, Prénom, Email) VALUES (@Nom, @Prenom, @Email)"
Using commande As New OleDbCommand(requete, connexion)
commande.Parameters.AddWithValue("@Nom", "Martin")
commande.Parameters.AddWithValue("@Prenom", "Paul")
commande.Parameters.AddWithValue("@Email", "paul.martin@example.com")
Dim lignesAffectees As Integer = commande.ExecuteNonQuery()
Console.WriteLine($"Nombre de lignes insérées : {lignesAffectees}")
End Using
Catch ex As Exception
Console.WriteLine("Erreur : " & ex.Message)
Finally
connexion.Close()
End Try
End Using
Console.ReadLine()
End Sub
End Module
Imports System.Data.OleDb
Module Module1
Sub Main()
' Chemin vers le fichier Access
Dim cheminBase As String = "C:\Chemin\Vers\VotreBase.accdb"
Dim chaineConnexion As String = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={cheminBase};Persist Security Info=False;"
Using connexion As New OleDbConnection(chaineConnexion)
Try
connexion.Open()
Console.WriteLine("Connexion réussie.")
' Rechercher un client par nom
Dim requete As String = "SELECT * FROM Clients WHERE Nom = @Nom"
Using commande As New OleDbCommand(requete, connexion)
commande.Parameters.AddWithValue("@Nom", "Dupont")
Using lecteur As OleDbDataReader = commande.ExecuteReader()
While lecteur.Read()
Console.WriteLine($"ID: {lecteur("ID")}, Nom: {lecteur("Nom")}, Prénom: {lecteur("Prénom")}")
End While
End Using
End Using
Catch ex As Exception
Console.WriteLine("Erreur : " & ex.Message)
Finally
connexion.Close()
End Try
End Using
Console.ReadLine()
End Sub
End Module
Ces exemples montrent comment :
L’exercice de la contraction de texte, souvent redouté des élèves, vise précisément cet objectif :…
La Révolution française, déclenchée en 1789, constitue l’un des tournants majeurs de l’histoire moderne. En…
L’histoire s’écrit à partir de documents : textes, images, objets ou témoignages. Ces sources, qu’elles…
La prise de notes est une compétence essentielle dans tout apprentissage. Que ce soit en…
L’argumentation occupe une place centrale dans le raisonnement juridique. Elle ne consiste pas à exprimer…
Charles Baudelaire, poète majeur du XIXe siècle, publie en 1857 Les Fleurs du mal, recueil…
This website uses cookies.