• Aucun résultat trouvé

[PDF] Accès aux données à l’aide de ADO.NET - Cours VB à télécharger

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Accès aux données à l’aide de ADO.NET - Cours VB à télécharger"

Copied!
35
0
0

Texte intégral

(1)

Module :

Accès aux données à l’aide de

Microsoft ADO.NET

Module :

Accès aux données à l’aide de

Microsoft ADO.NET

(2)

Vue d

Vue d

ensemble

ensemble



Présentation de l’utilisation de

Microsoft ADO.NET



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

(3)

Le

Le

ç

ç

on :

on :

Pr

Pr

é

é

sentation de l

sentation de l

utilisation de

utilisation de

Microsoft ADO.NET

Microsoft ADO.NET



Présentation multimédia :

Utilisation d’ADO.NET pour

accéder aux données



Utilisation des DataSet et des

DataReader



Application pratique : Utilisation

(4)

Utilisation d

Utilisation d

ADO.NET pour acc

ADO.NET pour acc

é

é

der aux

der aux

donn

(5)

Utilisation des DataSet et des

Utilisation des DataSet et des

DataReader

DataReader

Prise en charge par les outils Visual Studio .NET

Accès plus lent

En avant seulement Lié à un seul contrôle

Basé sur une instruction SQL d’une seule base de données

Accès en lecture seule

Codé manuellement Accès plus rapide Analyse des données en avant et en

arrière

Lié à plusieurs contrôles

Comprend plusieurs tables provenant de bases de données distinctes

Accès aux données en lecture/écriture

DataReader DataSet

(6)

Application pratique :

Application pratique :

Utilisation des

Utilisation des

DataSet ou des DataReader

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

(7)

Le

Le

ç

ç

on :

on :

Connexion

Connexion

à

à

une base de donn

une base de donn

é

é

es

es



Sécurité SQL Server



Création de la connexion



Démonstration : Définition de la

sécurité pour SQL Server

(8)

S

S

é

é

curit

curit

é

é

SQL Server

SQL Server

Client Client

Envoie le nom d ’utilisateur et le mot de

passe sous le forme de texte en clair.

N’envoie pas le nom d’utilisateur ni le mot de passe.

Envoie uniquement la confirmation que l’utilisateur a

été authentifié. Authentification en mode mixte Authentification en mode mixte Authentification windows uniquement Authentification windows uniquement Serveur SQL Server L ’accès est octroyé au compte

ASPNET uniquement

Serveur SQL Server L ’accès est octroyé au compte

ASPNET uniquement Serveur web Authentification windows Serveur web Authentification windows Ou... Ou... Serveur Sql Server Chaque compte d ’utilisateur est ajouté au groupe d ’accès

de SQL Server

Serveur Sql Server Chaque compte d ’utilisateur est ajouté au groupe d ’accès

de SQL Server

Serveur Web Paramètres par défaut

d ’ASP.NET Serveur Web Paramètres par défaut

d ’ASP.NET

Nom d ’utilisateur et

(9)

Cr

Cr

é

é

ation de la connexion

ation de la connexion

• Utilisation de SqlConnection

• Définition des paramètres de la chaîne

de connexion

– Connection timeout

– Data source

– Initial catalog

– Integrated security

Dim strConn As String = "data source=localhost; " & _ "initial catalog=northwind; integrated security=true" Dim conn As New SqlConnection(strConn)

Dim strConn As String = "data source=localhost; " & _ "initial catalog=northwind; integrated security=true" Dim conn As New SqlConnection(strConn)

– Password

– Persist security

info

– Provider

– User ID

(10)

D

D

é

é

monstration : D

monstration : D

é

é

finition de la

finition de la

s

s

é

é

curit

curit

é

é

pour SQL Server

pour SQL Server

 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

(11)

Le

Le

ç

ç

on : Acc

on : Acc

è

è

s aux donn

s aux donn

é

é

es avec des

es avec des

DataSet

DataSet



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

(12)

 Stockage de la requête dans un

DataAdapter

 Le constructeur DataAdapter définit la

propriété SelectCommand

 Définition des propriétés InsertCommand,

UpdateCommand et DeleteCommand si nécessaire

Cr

Cr

é

é

ation d

ation d

un DataAdapter

un DataAdapter

Dim da As New SqlDataAdapter ("select * from Authors", conn)

Dim da As New SqlDataAdapter ("select * from Authors", conn)

da.SelectCommand.CommandText da.SelectCommand.Connection

da.SelectCommand.CommandText da.SelectCommand.Connection

(13)

Cr

Cr

é

é

ation d

ation d

un DataSet

un DataSet

 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() da.Fill(ds, "Authors")

Dim ds As New DataSet() da.Fill(ds, "Authors") Dim r As DataRow Dim str As String For Each r in _ ds.Tables("Authors").Rows str &= r(2) str &= r("au_lname") Next Dim r As DataRow Dim str As String For Each r in _ ds.Tables("Authors").Rows str &= r(2) str &= r("au_lname") Next ds.Tables("Authors").Rows.Count ds.Tables("Authors").Rows.Count

(14)

D

D

é

é

monstration : Utilisation d

monstration : Utilisation d

un

un

DataSet par programmation

DataSet par programmation



Création d’une connexion



Création d’un DataAdapter



création d’un DataSet



lecture de données d’un

(15)

Utilisation d

Utilisation d

un DataView

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

 Définition d’une autre vue d’un DataSet

Dim dv As DataView = ds.Tables("Authors").DefaultView

Dim dv As DataView = ds.Tables("Authors").DefaultView

Dim dv As New DataView (ds.Tables("Authors")) dv.RowFilter = "state = 'CA'"

Dim dv As New DataView (ds.Tables("Authors")) dv.RowFilter = "state = 'CA'"

(16)

Application pratique : Organisation de

Application pratique : Organisation de

code pour cr

code pour cr

é

é

er un

er un

Dataset

Dataset



Les stagiaires devront:

– Réorganiser des lignes de

code pour créer un

DataSet



Durée approximative : 5

(17)

Liaison d

Liaison d

un DataSet

un DataSet

à

à

un contrôle de

un contrôle de

liste

liste



Création du contrôle



Liaison à un DataSet ou à un DataView

dg.DataSource = ds dg.DataMember = "Authors" dg.DataBind() dg.DataSource = ds dg.DataMember = "Authors" dg.DataBind()

<asp:DataGrid id="dg" runat="server" />

(18)

Application pratique dirig

Application pratique dirig

é

é

e : Affichage

e : Affichage

d

d

un DataSet

un DataSet



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

(19)

Gestion des erreurs

Gestion des erreurs



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

(20)

Le

Le

ç

ç

on: Utilisation de plusieurs tables

on: Utilisation de plusieurs tables



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

(21)

Stockage de plusieurs tables

Stockage de plusieurs tables



Ajout de la première table



Ajout de tables consécutives

daCustomers = New SqlDataAdapter _

("select * from Customers", conn1) daCustomers.Fill(ds, "Customers")

daCustomers = New SqlDataAdapter _

("select * from Customers", conn1) daCustomers.Fill(ds, "Customers")

Orders Customers

daOrders = New SqlDataAdapter _

("select * from Orders", conn2) daOrders.Fill(ds, "Orders")

daOrders = New SqlDataAdapter _

("select * from Orders", conn2) daOrders.Fill(ds, "Orders")

conn2 conn1

(22)

Cr

Cr

é

é

ation de relations

ation de relations

Identification de la colonne parente

Identification de la colonne enfant

Création de DataRelation

Dim dr As New DataRelation _ ("name", parentCol, _

childCol)

ds.DataRelations.Add(dr)

Dim dr As New DataRelation _ ("name", parentCol, _

childCol)

ds.DataRelations.Add(dr)

Dim parentCol As DataColumn = _

ds.Tables("Customers").Columns("CustomerID")

Dim parentCol As DataColumn = _

ds.Tables("Customers").Columns("CustomerID")

Dim childCol As DataColumn = _

ds.Tables("Orders").Columns("CustomerID")

Dim childCol As DataColumn = _

ds.Tables("Orders").Columns("CustomerID") Table Orders Table Customers DataSet parentCol childCol DataRelation

(23)

Navigation par programmation entre

Navigation par programmation entre

des tables

des tables

à

à

l

l

aide des relations

aide des relations

ds.Tables(index).Rows(index).GetChildRows("relation") ds.Tables(index).Rows(index).GetParentRow("relation") ds.Tables(index).Rows(index).GetChildRows("relation") ds.Tables(index).Rows(index).GetParentRow("relation") Customers Orders GetChildRows GetParentRow DataSet

(24)

Navigation par visuelle entre des tables

Navigation par visuelle entre des tables

à

(25)

Dim tableView As DataView

Dim currentRowView As DataRowView

tableView = New DataView(ds.Tables("Customers"))

currentRowView = tableView(dgCustomers.SelectedIndex)

dgChild.DataSource = currentRowView.CreateChildView("CustOrders")

Dim tableView As DataView

Dim currentRowView As DataRowView

tableView = New DataView(ds.Tables("Customers"))

currentRowView = tableView(dgCustomers.SelectedIndex) dgChild.DataSource = currentRowView.CreateChildView("CustOrders") Customers Orders CreateChildView DataRowView DataView DataSet

(26)

Application pratique dirig

Application pratique dirig

é

é

e : Affichage

e : Affichage

de donn

de donn

é

é

e issues de plusieurs tables

e issues de plusieurs tables

 Par programmation:

– Création d ’un DataSet

– Création d ’un DataRelation – Affichage des enregistrements

enfants à

l ’aide de DataRelation

 visuellement:

(27)

Le

Le

ç

ç

on : Acc

on : Acc

è

è

s aux donn

s aux donn

é

é

es avec des

es avec des

DataReader

DataReader

• 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

(28)

Pr

Pr

é

é

sentation d

sentation d

un DataReader

un 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

(29)

Cr

Cr

é

é

ation d

ation d

un DataReader

un DataReader

• 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

(30)

Lecture de donn

Lecture de donn

é

é

es

es

à

à

partir d

partir d

un

un

DataReader

DataReader

• Appel de Read pour chaque enregistrement – Retourne Null lorsqu’il n ’y a plus

d ’enregistrement • Accès aux champs

– Le paramètre est la position ordinale ou le nom du champ

– les fonctions Get offrent de meilleures performances Do While myReader.Read() str &= myReader(1) str &= myReader("field") str &= myReader.GetDateTime(2) Loop Do While myReader.Read() str &= myReader(1) str &= myReader("field") str &= myReader.GetDateTime(2) Loop

(31)

Lecture de donn

Lecture de donn

é

é

es

es

à

à

partir d

partir d

un

un

DataReader

DataReader

• Fermeture du DataReader • Fermeture de la connexion

(32)

Liaison d

Liaison d

un DataReader

un DataReader

à

à

un contrôle

un contrôle

de liste

de liste



Création du contrôle



Liaison à un DataReader

dgAuthors.DataSource = dr dgAuthors.DataBind() dgAuthors.DataSource = dr dgAuthors.DataBind()

<asp:DataGrid id="dgAuthors" runat="server" />

(33)

Application pratique : Organisation de

Application pratique : Organisation de

code pour cr

code pour cr

é

é

er un DataReader

er un DataReader

• Les stagiaires devront:

– Réorganiser des lignes de code pour créer un

DataReader

(34)

D

D

é

é

monstration : Affichage de donn

monstration : Affichage de donn

é

é

es

es

à

à

l

l

aide des DataReader

aide des DataReader

• 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

(35)

Contrôle des acquis

Contrôle des acquis

 Présentation de l’utilisation de Microsoft

ADO.NET

 Connexion à une base de données

 Accès aux données avec des DataSet  Utilisation de plusieurs tables

Références

Documents relatifs

L’environnement de confiance local intervenant dans l’authentification de niveau standard d’un utilisateur auprès d’un SI distant doit nécessiter un déverrouillage

Lorsque le client souhaite utiliser un service, généralement pour obtenir l'accès à un système hôte local ou distant, il utilise la clé de session pour crypter une copie du

Le Level 4 spécifie que le serveur refuse la connexion d’un client, ne supportant pas NTLM ou NTLMv2, utilisant un compte local du serveur.. Le DC refuse toutes connexions d’un client

– Ce ticket va être utilisé par le serveur LDAP (car OpenLDAP est Kerbérisé) pour achever la phase d'authentification (au lieu de retourner le hash du password dans le cas

– une session d’authentification pour l’utilisateur est cr´e´ee et la structure contenant le nom de l’utilisateur et les condensats est chiffr´ee (` a partir de Windows XP),

e.blindauer@unistra.fr e.blindauer@unistra.fr Direction Informatique Direction Informatique.

– Pam=« Pluggable Authentification Module » – Authentification différenciée suivant les services – Chaque service a son fichier de configuration.. ● Le démon SASL est le

Biométrie parfaite signatures manuelles vitesse de frappe forme de la main empreintes digitales empreintes rétiniennes. reconnaissance de l'iris reconnaissance du visage