0

Access & ADO.net (part1)

gestion contact

Utilisation d’ une base Access avec ADO.NET

Mode Déconnecté
Partie 1 : Connection à la source de donnée, Déclaration & Parametrage des objets OleDataAdapter et Dataset. Remplissage d’un datagrid ou ListBox à partir du DataSet.

Dans cet exemple nous allons travailler avec les espaces de nom

  • System.Data : stock toute les classes constituant l’architecture ADO.net
  • System.Data.OleDb : permet l’accés aux base de données de type Microsoft (Access, oracle, sql <7)

 La declaration de ces espaces de nom est indispensable pour définir l’accès à notre base de donnée.

Imports System.Data
Imports System.Data.OleDb

Connection à la base de donnée :

Avant toute manipulation de donnée de notre base nous devons nous connecter à cette dernière.

Comme c’est une base Access nous allons utiliser l’objet OleDbConnection fournit par l’espace de nom System.Data.OleDb.

Pour ce faire , il nous suffit de créer un nouvel objet Connection et de lui passer en paramètre la chaîne de connections, soit :

‘Creation de l’objet connection
Private Connection As New OleDb.OleDbConnection()
 ‘parametrage de la chaine de connection
Connection.ConnectionString = "provider=microsoft.jet.oledb.4.0;" _ 
& "data source= " & Application.StartupPath & "\" & "testbdd.mdb;"

 

Declaration et parametrage du Data Adapter

Un adaptateurs de données nous permet de lancer une ou plusieurs instruction SQL et de stocker le résultat dans un objet DataSet.

Il permet également de lire les données d’une base pour les placer dans le DataSet et de mettre à jour les données de la base à partir des modification effectuées dans le Dataset.

Att : On utilise un Adaptateur par table

'Declare le DataAdapter et selectionne tout les champs de la table Tcontact
Private AdapTContact As New OleDb.OleDbDataAdapter("select * from TContact", Connection)

 

Déclaration et paramétrage du DataSet

 L’objet DataSet

Un objet DataSet est une copie en mémoire des donnée de la base, il permet de stocker des données en provenance d’une source de donnée qui seront manipulées en mode déconnecté, nous permettant ainsi de modifier, ajouter ou supprimer des enregistrements sans avoir recours à la connexion serveur.

Il  est donc constitué d’un ou plusieurs objets DataTable (les Tables).

Chaque DataTable contient une collection d’objet DataRow (les lignes) et une collection d’objet DataColumn.(les colonnes).

'declaration du DataSet
Private DtSet As New DataSet()
'remplissage du dataset
AdapTContact.Fill(DtSet, "TContact")

La méthode Fill permet de remplir le DataSet avec la structure et les enregistrement de la table «  Tcontact  » suivant la requete definie  par le DataAdapter.

 En résumé, 6 étapes nous suffisent pour remplir un DataSet à partir d’un DataAdapter

  1. Parametrage de la chaine de connection
  2. Ouverture de la connection
  3. Execution de la requete
  4. Defintion du DataAdapter
  5. Remplissage du DataSet avec le résultat de la requête
  6. Fermeture de la connection
Dim Connection As New OleDb.OleDbConnection()
Dim AdapTContact As OleDb.OleDbDataAdapter
Dim DtSet As New DataSet()
Dim Sql As string
 
'Parametrage de la chaine de connection
Connection.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
"data source= " & Application.StartupPath & "\" & "testbdd.mdb;"
 
‘ouverture de la connection
Connection.Open()
 
‘definition de la requete
Sql="select * from TContact;"
 
‘definition du DataAdapter
AdapTContact=new OleDbDataAdapter (Sql, connection)
 
' remplissage du dataset
AdapTContact.Fill(DtSet, "TContact")
 
‘Fermeture de la connection
Connection.Close()

Remplissage d’un Datagrid à partir d’un DataSet

Un controle DataGrid affiche les données d’un ensemble de données ADO.NET sous la forme d’un tableau.
Il est très similaire au contrôle FlexGrid de Visual Basic 6.0, mais il comporte un grand nombre de
nouvelles fonctions .

Dim Matable As DataTable

Matable = DtSet.Tables("TContact")
Grid_client.DataSource = Matable

Remplissage d’un ListBox à partir d’un DataSet

Une zone de liste vous permet de montrer plusieurs éléments à l’utilisateur, avec la possibilité de sélectionner un ou plusieurs éléments de cette liste.

remplissage d’une zone de liste (ListBox) avec le champ  » nom  » de la table  » Tcontact « 
Dim Matable As Systeme.Data.DataTable
Matable = DtSet.Tables("TContact")
 
'remplissage de la liste , ligne à ligne
Dim Ligne As System.Data.DataRow
For Each ligne In Matable.Rows
    Liste.Items.Add(ligne.Item(" Nom "))
Next

aller à la partie 2 (Modification, Suppression, Ajout d’un enregistrement)

Télécharger le code source

 

You must be logged in to post a comment.