dimanche 27 janvier 2008

Data Binding et Data Access - Vue d'ensemble

En développant, nous utilisons un contrôle pour représenter un champ.
Plusieurs contrôles >> plusieurs champs.


Bind et eval :

http://msdn2.microsoft.com/fr-fr/library/ms178366%28VS.80%29.aspx

La fonction Eval sert à définir une liaison unidirectionnelle (en lecture seule) => One way binding.
La fonction Bind sert à une liaison bidirectionnelle (actualisable) => Two way binding.
Formulaire : FormView => Bind « Nom du champ»

Exemple :

<%# Bind("Nom") %>
<%# Eval("Nom") %>

"Nom" n’est autre que le nom d’un champ dans ma base de données.
Grid :

- Gridview :
Bind(«Nom_du_champ »)
Eval(«Nom_du_champ»)

List:

- DataTextField

- DataValueField

DataGrid:

- Evénement ItemDataBound: s’exécute à chaque fois qu’un item (ligne) d’un DataGrid est lié (databind).

- Evénement ItemCommand: Se produit lorsque l'utilisateur sélectionne une commande associée à un élément du DataGrid.


Rapatrier des données: DataSet ou DataReader ?

Exemple de fontion qui retourne l’age d’une personne et qui l’affiche dans un label lblAge:
Fonction GetAge() as integer 
This.lblAge.Text = GetAge();


Utilisation de DataSet :

* Manipulation avancée lors de la consultation

* Reporting

* Transfert de données entre systèmes

* Windows Forms



Utilisation de DataReader :

* Web ReadOnly, structure légère, non transferable, performant

* Remplir des objets métier

* Parcourir des données avec un accès rapide (for loop)



DataSet/DataReader :

DataSet fait appel a un datareader, remplit les objets, ferme le datareader et ainsi la connexion.



DataSet/DataReader et les contrôles :

- Le contrôle SQLDataSource a 2 modes: DataSet et DataReader.

- XmlDataSource (FormView avec XmlDataSource, XPath("Book/Title") )

- DataSet et XML (ReadXml, WriteXml)

- ObjectDataSource (Classes et des collections de classes) (Formview, GridView, dropdownlist)

3 commentaires:

. a dit…

Nice,
http://gallery.live.com/results.aspx?c=0&bt=9&pl=8
ceci est un lien vers Windows Live Wirter plugins. (mon favoris: Inser Code Snippet plugin pour un code bien présenté)
Interessant, à discuter.
http://oudinia.blogspot.com/2006/12/using-dataset-versus-using-datareader.html

RAMZI Sanaa a dit…

merci pr l'astuce :) j'ai un peu soigné l'affichage, c pas top.. j'utiliserai live writer pr les prochains posts.

Rem a dit…

The blog is helpfull...
visit also asp.net example