Module : Module :
Accès aux données à l’aide de Accès aux données à l’aide de
Microsoft ADO.NETMicrosoft
Vue d’ensemble
Présentation de l’utilisation de Microsoft
Connexion à une base de données
Accès aux données avec des DataSet Utilisation de plusieurs tables
Accès aux données avec des DataReader
Présentation multimédia : Utilisation d’ pour accéder aux données
Utilisation des DataSet et des DataReader
Application pratique : Utilisation des DataSet ou des DataReader
Utilisation d’ pour accéder aux données
Application pratique : Utilisation des
DataSet ou des DataReader
Les stagiaires effectueront la tâche suivante:
–Sélectionner le meilleur accès aux données en fonction de divers scénarios
Durée approximative : 5 minutes
Leçon : Connexion à une base de données
Sécurité SQL Server
Création de la connexion
Démonstration : Définition de la sécurité pour SQL Server
• Utilisation de SqlConnection
Dim strConn As String = "data source=localhost; " &Dim strConn As String = "data source=localhost; " & _ _
–Integrated security | –User ID |
"initial catalog=northwind; integrated security=tru"initial catalog=northwind; integrated security=true"e" Dim conn As New SqlConnection(strConn)Dim conn As New SqlConnection(strConn)
• Définition des paramètres de la chaîne
de connexion –Connection timeout | –Password –Persist security |
–Data source info
–Initial catalog –Provider
Ouverture de SQL Server Entreprise Manager
Définition du mode d’authentification
Vérification avec la sécurité intégrée Vérification avec sécurité en mode mixte
Création d’un DataAdapter
Création d’un DataSet
Démonstration : Utilisation d’un DataSet par
programmation
Utilisation d’un DataView
Application pratique : Organisation de code pour créer un DataSet
Liaison d’un DataSet à un contrôle de liste
Application pratique dirigée : Affichage d’un
DataSet
Gestion des erreurs
Stockage de la requête dans un
DataAdapter
Dim da As New SqlDataAdapter ("select * from AuthorDim da As New SqlDataAdapter ("select * from Authors", conn)s", conn)
Le constructeur DataAdapter définit la propriété SelectCommand
da.SelectCommand.CommandText da.SelectCommand.CommandText da.SelectCommand.Connectionda.SelectCommand.Connection
Définition des propriétés InsertCommand, UpdateCommand et DeleteCommand si nécessaire
Création et remplissage d’un DataSet avec des DataTable
– La méthode Fill exécute la propriété SelectCommand
Dim ds As New DataSet()Dim ds As New DataSet() (ds, "Authors")(ds, "Authors")
ds.Tables("Authors").Rows.Countds.Tables("Authors").Rows.Count
Dim r As DataRowDim r As DataRow
Dim str As StringDim str As String
For Each r in _For Each r in _ ds.Tables("Authors").Rowsds.Tables("Authors").Rows
str &= r(2)str &= r(2)
str &= r("au_lname")str &= r("au_lname")
NextNext
Création d’une connexion Création d’un DataAdapter création d’un DataSet lecture de données d’un DataSet par programmation Utilisation d’un DataView
Un objet DataView peut être personnalisé pour présenter un sous-ensemble de données d’un DataTable
La propriété DefaultView retourne la vue par défaut Dataview de la table
Dim dv As DataView = ds.Tables("Authors").DefaultViDim dv As DataView = ds.Tables("Authors").DefaultViewew
Définition d’une autre vue d’un DataSet
Dim dv As New DataView (ds.Tables("Authors"))Dim dv As New DataView (ds.Tables("Authors")) dv.RowFilter = "state = 'CA'" dv.RowFilter = "state = 'CA'"
Application pratique : Organisation de code pour créer un Dataset
Les stagiaires devront:
–Réorganiser des lignes de code pour créer un DataSet
Durée approximative : 5 minutes
Liaison d’un DataSet à un contrôle de liste
Création d’une connexion
Création d’un DataAdapter
Création d’un DataSet
Création d’un DataView
Liaison du DataSet et du
DataView à des contrôles
DataGrid
La connexion ne s’ouvre
–La chaîne de connexion n’est pas valide
–Le serveur ou la base de données est introuvable
–La connexion a échoué
DataAdapter ne peut pas créer un
DataSet
–La syntaxe SQL n’est pas valide
–Le nom de table ou de champ n’est pas valide
Stockage de plusieurs tables
Création de relations
Navigation par programmation entre des tables à l’aide des relations Navigation par visuelle entre des tables à l’aide des relations Application pratique dirigée : Affichage de données issues de plusieurs tables
Ajout de la première table
daCustomers = New SqlDataAdapter _daCustomers = New SqlDataAdapter _
(("select * from Customers", conn"select * from Customers", conn1)1) (ds, "Customers")(ds, "Customers")
Ajout de tables consécutives
daOrders = New SqlDataAdapter _daOrders = New SqlDataAdapter _
(("select * from Orders", conn"select * from Orders", conn2)2) (ds, "Orders")(ds, "Orders")
Customers
DataSet
Orders
• Identification de la colonne parente
Dim parentCol As DataColumn = _Dim parentCol As DataColumn = _ ds.Tables("Customers").Columns("CustomerID")ds.Tables("Customers").Columns("CustomerID")
• Identification de la colonne enfant
Dim childCol As DataColumn = _Dim childCol As DataColumn = _ ds.Tables("Orders").Columns("CustomerID")ds.Tables("Orders").Columns("CustomerID")
• Création de DataRelation
parentCol Table Customers DataRelation
Dim dr As New DataRelation _Dim dr As New DataRelation _ (("name", parentCol, _"name", parentCol, _ childCol)childCol)
(dr)(dr) childCol
DataSet Table Orders
Par programmation:
– Création d ’un DataSet
– Création d ’un DataRelation
– Affichage des enregistrements enfants à
l ’aide de DataRelation
visuellement:
– Appel de CreateChildView
• Présentation d’un DataReader
• Création d’un DataReader
• Lecture de données à partir d’un DataReader
• Liaison d’un DataReader à un contrôle de liste
• Application pratique : Organisation de code pour créer un DataReader
• Démonstration : Affichage de données à l ’aide des DataReader
En avant seulement en lecture seule
Accès rapide aux données
Connecté à une source de données
Gestion manuelle de la connexion
Gestion manuelle des données ou liaison à un contrôle de liste
Moins de ressources serveur utilisées
• Pour utiliser un DataReader:
– Créez et ouvrez la connexion à la base de données
– Créez un objet Command
– Créez l ’objet DataReader à partir de l ’objet Command
– Appelez la méthode ExecuteReader
– Utilisez l’objet DataReader
– Fermez l ’objet DataReader
– fermez l ’objet Connection
• Utilisation de la gestion des erreurs
• Appel de Read pour chaque enregistrement
– Retourne Null lorsqu’il n ’y a plus d ’enregistrement
• Accès aux champs
– les fonctions Get offrent de meilleures performances
Do While ()Do While () str &= myReader(1)str &= myReader(1) str &= myReader("field") str &= myReader("field") str &= myReader.GetDateTime(2)str &= myReader.GetDateTime(2) LoopLoop
• Fermeture du DataReader
• Fermeture de la connexion
• Les stagiaires devront:
– Réorganiser des lignes de code pour créer un DataReader
• Durée approximative : 5 minutes
• Création d’un SqlConnection • Création d ’un DataReader
• Liaison du DataReader à un ListBox
• Création des éléments du ListBox à partir des données fournies par le DataReader
Présentation de l’utilisation de Microsoft
Connexion à une base de données
Accès aux données avec des DataSet
Utilisation de plusieurs tables
Accès aux données avec des DataReader