Vous êtes sur la page 1sur 12

VB.

Net - Accès à la base de données

Les applications communiquent avec une base de données, d'une part, pour récupérer les données qui y sont
stockées et les présenter de manière conviviale, et d'autre part, pour mettre à jour la base de données en
insérant, modifiant et supprimant des données.

Microsoft ActiveX Data Objects.Net (ADO.Net) est un modèle, une partie de la structure .Net qui est utilisée
par les applications .Net pour récupérer, accéder et mettre à jour les données.

Modèle d'objet ADO.Net


Le modèle objet ADO.Net n'est rien d'autre que le flux de processus structuré à travers divers composants. Le
modèle d'objet peut être décrit comme suit:

Les données résidant dans un magasin de données ou une base de données sont récupérées via le fournisseur
de données. Divers composants du fournisseur de données récupèrent des données pour l'application et
mettent à jour les données.

Une application accède aux données via un ensemble de données ou un lecteur de données.

 Les ensembles de données stockent les données dans un cache déconnecté et l'application en extrait
les données.
 Les lecteurs de données fournissent des données à l'application en mode lecture seule et avant
uniquement.

Fournisseur de données
Un fournisseur de données est utilisé pour se connecter à une base de données, exécuter des commandes et
récupérer des données, les stocker dans un ensemble de données, lire les données récupérées et mettre à jour la
base de données.

Le fournisseur de données dans ADO.Net se compose des quatre objets suivants -

N ° Sr. Objets et description


Connection « Lien »
1
Ce composant est utilisé pour établir une connexion avec une source de données.
Command « Commander »
2
Une commande est une instruction SQL ou une procédure stockée utilisée pour récupérer, insérer,
supprimer ou modifier des données dans une source de données.
DataReader
3
Le lecteur de données est utilisé pour récupérer des données à partir d'une source de données en
mode lecture seule et avant uniquement.
DataAdapter

Cela fait partie intégrante du fonctionnement d'ADO.Net puisque les données sont transférées vers
4 et depuis une base de données via un adaptateur de données. Il récupère les données d'une base de
données dans un ensemble de données et met à jour la base de données. Lorsque des modifications
sont apportées à l'ensemble de données, les modifications dans la base de données sont en fait
effectuées par l'adaptateur de données.

Il existe différents types de fournisseurs de données inclus dans ADO.Net

 Le fournisseur de données .Net Framework pour SQL Server - permet d'accéder à Microsoft SQL
Server.
 Le fournisseur de données .Net Framework pour OLE DB - permet d'accéder aux sources de données
exposées à l'aide d'OLE DB.
 Le fournisseur de données .Net Framework pour ODBC - permet d'accéder aux sources de données
exposées par ODBC.
 Le fournisseur de données .Net Framework pour Oracle - permet d'accéder à la source de données
Oracle.
 Le fournisseur EntityClient - permet d'accéder aux données via les applications EDM (Entity Data
Model).

Base de données
DataSet est une représentation en mémoire des données. Il s'agit d'un ensemble d'enregistrements déconnectés
et mis en cache qui sont extraits d'une base de données. Lorsqu'une connexion est établie avec la base de
données, l'adaptateur de données crée un ensemble de données et y stocke des données. Une fois les données
récupérées et stockées dans un ensemble de données, la connexion avec la base de données est fermée. C'est
ce qu'on appelle «l'architecture déconnectée». L'ensemble de données fonctionne comme une base de données
virtuelle contenant des tables, des lignes et des colonnes.

Le diagramme suivant montre le modèle d'objet du jeu de données -


La classe DataSet est présente dans l' espace de noms System.Data . Le tableau suivant décrit tous les
composants de DataSet -


Composants et description
Sr.
DataTableCollection
1
Il contient toutes les tables extraites de la source de données.
DataRelationCollection
2
Il contient les relations et les liens entre les tables d'un ensemble de données.
Propriétés étendues
3
Il contient des informations supplémentaires, comme l'instruction SQL pour la récupération des
données, l'heure de la récupération, etc.
DataTable
4
Il représente une table dans le DataTableCollection d'un ensemble de données. Il se compose des objets
DataRow et DataColumn. Les objets DataTable sont sensibles à la casse.
DataRelation
5
Il représente une relation dans le DataRelationshipCollection de l'ensemble de données. Il est utilisé
pour relier deux objets DataTable l'un à l'autre via les objets DataColumn.
DataRowCollection
6
Il contient toutes les lignes d'un DataTable.
DataView
7
Il représente une vue personnalisée fixe d'un DataTable pour le tri, le filtrage, la recherche, l'édition et
la navigation.
Clé primaire
8
Il représente la colonne qui identifie de manière unique une ligne dans un DataTable.
9 DataRow
Il représente une ligne dans le DataTable. L'objet DataRow et ses propriétés et méthodes sont utilisés
pour récupérer, évaluer, insérer, supprimer et mettre à jour des valeurs dans DataTable. La méthode
NewRow est utilisée pour créer une nouvelle ligne et la méthode Add ajoute une ligne à la table.
DataColumnCollection
10
Il représente toutes les colonnes d'un DataTable.
DataColumn
11
Il se compose du nombre de colonnes qui composent un DataTable.

Connexion à une base de données


Le .Net Framework fournit deux types de classes de connexion -

 SqlConnection - conçu pour se connecter à Microsoft SQL Server.


 OleDbConnection - conçu pour se connecter à un large éventail de bases de données, comme
Microsoft Access et Oracle.

Exemple 1
Nous avons une table stockée dans Microsoft SQL Server, nommée Clients, dans une base de données
nommée testDB. Veuillez consulter le didacticiel 'SQL Server' pour créer des bases de données et des tables
de base de données dans SQL Server.

Connectons-nous à cette base de données. Suivez les étapes suivantes -

 Sélectionnez OUTILS → Se connecter à la base de données

 Sélectionnez un nom de serveur et le nom de la base de données dans la boîte de dialogue Ajouter une
connexion.

M
 Cliquez sur le bouton Tester la connexion pour vérifier si la connexion a réussi.

 Ajoutez un DataGridView sur le formulaire.


 Cliquez sur la zone de liste déroulante Choisir la source de données.
 Cliquez sur le lien Ajouter une source de données de projet.

 Cela ouvre l'assistant de configuration de la source de données.


 Sélectionnez Base de données comme type de source de données

 Choisissez DataSet comme modèle de base de données.


 Choisissez la connexion déjà établie.

 Enregistrez la chaîne de connexion.


 Choisissez l'objet de base de données, la table Clients dans notre exemple, et cliquez sur le bouton
Terminer.

 Sélectionnez le lien Aperçu des données pour voir les données dans la grille Résultats -
Lorsque l'application est exécutée à l'aide du bouton Démarrer disponible dans la barre d'outils Microsoft
Visual Studio, la fenêtre suivante s'affiche:

Exemple 2
Dans cet exemple, laissez-nous accéder aux données dans un contrôle DataGridView à l'aide de code. Suivez
les étapes suivantes -

 Ajoutez un contrôle DataGridView et un bouton dans le formulaire.


 Remplacez le texte du contrôle de bouton par «Remplir».
 Double-cliquez sur le contrôle de bouton pour ajouter le code requis pour l'événement Click du
bouton, comme indiqué ci-dessous -

Imports System.Data.SqlClient
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) _
Handles MyBase.Load
'TODO: This line of code loads data into the 'TestDBDataSet.CUSTOMERS' table.
You can move, or remove it, as needed.
Me.CUSTOMERSTableAdapter.Fill(Me.TestDBDataSet.CUSTOMERS)
' Set the caption bar text of the form.
Me.Text = "tutorialspoint.com"
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click


Dim connection As SqlConnection = New sqlconnection()
connection.ConnectionString = "Data Source=KABIR-DESKTOP; _
Initial Catalog=testDB;Integrated Security=True"
connection.Open()
Dim adp As SqlDataAdapter = New SqlDataAdapter _
("select * from Customers", connection)
Dim ds As DataSet = New DataSet()
adp.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
End Sub
End Class

 Lorsque le code ci-dessus est exécuté et exécuté à l'aide du bouton Démarrer disponible dans la barre
d'outils Microsoft Visual Studio, il affichera la fenêtre suivante -

 Cliquez sur le bouton Remplir pour afficher le tableau sur le contrôle d'affichage de la grille de
données -
Créer un tableau, des colonnes et des lignes
Nous avons discuté du fait que les composants DataSet tels que DataTable, DataColumn et DataRow nous
permettent de créer respectivement des tables, des colonnes et des lignes.

L'exemple suivant illustre le concept -

Exemple 3
Jusqu'à présent, nous avons utilisé des tables et des bases de données déjà existantes dans notre ordinateur.
Dans cet exemple, nous allons créer une table, y ajouter des colonnes, des lignes et des données et afficher la
table à l'aide d'un objet DataGridView.

Suivez les étapes suivantes -

 Ajoutez un contrôle DataGridView et un bouton dans le formulaire.


 Remplacez le texte du contrôle de bouton par «Remplir».
 Ajoutez le code suivant dans l'éditeur de code.

Public Class Form1


Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Set the caption bar text of the form.
Me.Text = "tutorialspont.com"
End Sub

Private Function CreateDataSet() As DataSet


'creating a DataSet object for tables
Dim dataset As DataSet = New DataSet()
' creating the student table
Dim Students As DataTable = CreateStudentTable()
dataset.Tables.Add(Students)
Return dataset
End Function

Private Function CreateStudentTable() As DataTable


Dim Students As DataTable
Students = New DataTable("Student")
' adding columns
AddNewColumn(Students, "System.Int32", "StudentID")
AddNewColumn(Students, "System.String", "StudentName")
AddNewColumn(Students, "System.String", "StudentCity")
' adding rows
AddNewRow(Students, 1, "Zara Ali", "Kolkata")
AddNewRow(Students, 2, "Shreya Sharma", "Delhi")
AddNewRow(Students, 3, "Rini Mukherjee", "Hyderabad")
AddNewRow(Students, 4, "Sunil Dubey", "Bikaner")
AddNewRow(Students, 5, "Rajat Mishra", "Patna")
Return Students
End Function

Private Sub AddNewColumn(ByRef table As DataTable, _


ByVal columnType As String, ByVal columnName As String)
Dim column As DataColumn = _
table.Columns.Add(columnName, Type.GetType(columnType))
End Sub

'adding data into the table


Private Sub AddNewRow(ByRef table As DataTable, ByRef id As Integer,_
ByRef name As String, ByRef city As String)
Dim newrow As DataRow = table.NewRow()
newrow("StudentID") = id
newrow("StudentName") = name
newrow("StudentCity") = city
table.Rows.Add(newrow)
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click


Dim ds As New DataSet
ds = CreateDataSet()
DataGridView1.DataSource = ds.Tables("Student")
End Sub
End Class

 Lorsque le code ci-dessus est exécuté et exécuté à l'aide du bouton Démarrer disponible dans la barre
d'outils Microsoft Visual Studio, il affichera la fenêtre suivante -

 Cliquez sur le bouton Remplir pour afficher le tableau sur le contrôle d'affichage de la grille de
données -

Vous aimerez peut-être aussi