Académique Documents
Professionnel Documents
Culture Documents
NET Framework
Web Services User Interface
Data and XML ADO.NET Base Classes Common Language Runtime XML ... ...
ADO
Microsoft ActiveX Data Objects Conu pour un accs connect Li au modle de donnes physique Le RecordSet est un conteneur de donnes. Le RecordSet est une (1) table qui contient toutes les donnes
Rcuprer les donnes de plusieurs tables exige une jointure SQL ( JOIN ) Les donnes sont aplaties: perte des relations, la navigation est squentielle
ADO.NET
Conu pour un accs dconnect Avoir une modlisation logique des donnes Le DataSet remplace le RecordSet DataSet peut contenir plusieurs tables
Rcuprer les donnes de plusieurs tables ou de source ne ncessite pas un JOIN SQL. Les relations sont conserves: la navigation est relationnelle
Les donnes sont lies un schma XML Pas de conversions de type de donnes requises
Avantages
Avec un mode connect, la connexion est permanente, par consquence les donnes sont toujours jour. De plus il est facile de voir quels sont les utilisateurs connects et sur quoi ils travaillent. Enfin, la gestion est simple, il y a connexion au dbut de lapplication puis dconnexion la fin.
Inconvnients
Linconvnient se trouve surtout au niveau des ressources. En effet, tous les utilisateurs ont une connexion permanente avec le serveur. Mme si lutilisateur ny fait rien la connexion gaspille beaucoup de ressource entrainant aussi des problmes daccs au rseau.
Avantage
Il est possible de brancher un nombre important dutilisateurs sur le mme serveur. En effet, ils se connectent le moins souvent et durant la plus courte dure possible. De plus, avec cet environnement dconnect, lapplication gagne en performance par la disponibilit des ressources pour les connexions.
Inconvnients
Les donnes ne sont pas toujours jour, ce qui peut aussi entrainer des conflits lors des mises jour. Il faut aussi penser prvoir du code pour savoir ce que va faire lutilisateur.
Maintenance
Sparation de Data-Logic et User Interface
ADO.NET Founisseur
DataSet
DataTableCollection
DataTable
DataRowCollection DataColumnCollection ConstraintCollection
Connection
Transaction
DataAdapter
SelectCommand
InsertCommand UpDateCommand DeleteCommand
Command
Parameters
DataReader
DataRelationCollection
Base de donnes
XML
UI Applications
SQL Server
OLE DB
ODBC
ORACLE
API SQL
API OLE DB
API ODBC
API ORACLE
SQL Server
Ole DB
ODBC
ORACLE
ADO.NET
System.Data
.SqlTypes
.SqlClient
.Common
.OleDb
.Common
Regroupe les classes partages
System.Data
.SqlClient SqlCommand SqlConnection SqlDataReader SqlDataAdapter .OleDb OleDbCommand OleDbConnection OleDbDataReader OleDbDataAdapter
Reprsente une session unique avec une data source Create, open, close, connection a la data source Fonctionnalits & mthodes pour les transactions OleDbConnection example:
String conStr="Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=NWIND_RW.MDB"; OleDbConnection aConn = new OleDbConnection(conStr); aConn.Open(); // Execute Queries using OleDbDataAdapter Class aConn.Close();
data store
DataAdapter
DataSet
Bridge entre le DataTable et la data store Moyen pour modifier le DataTable et la data source
Table store
TableAdapter
DataTable
Proprits:
DeleteCommand: reprsenta la commande delete SQL InsertCommand: Gets & sets insert command SelectCommand: Gets or sets select command UpdateCommand: Gets or sets update command TableMappings: Mapper table SQL <=> DataTable
OleDbCommands
Proprits:
Connection: Get & Set the data source connection CommandText: Get & Set the query (text) command
Texte SQL ou le nom dune stored procedure.
Instanciation avec la mthode : OleDbCommand.ExecuteReader() Fixe la OleDbCommand jusqu la fin de la lecture des donnes.
Properiets:
FieldCount: Retourne le nombre de line dans le
result set .
RecordsAffected: Nombre de line affectes par
la commande.
// Code for creating the OleDbConnection adoConn not shown String conStr="Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=NWIND_RW.MDB"; OleDbConnection adoConn = new OleDbConnection(conStr); String myQuery = SELECT * FROM Customers; OleDbCommand myCmd = new OleDbCommand( myQuery,adoConn ); adoConn.Open(); // Declare the OleDbDataReader & // then instantiate it with ExecuteReader(...) ... OleDbDataReader reader = myCmd.ExecuteReader(); // Always call Read before accessing data. while( reader.Read() ) { Object [] cols = new Object[10] ; reader.GetValues( cols ); Console.WriteLine( cols[0].ToString() + " | " + cols[1] ); } // Always Close the reader and the connection when done reader.Close(); adoConn.Close();
Contient la base de lADO.NET Fournit les moyens pour travailler sur et avec vos donnes!
Les classes et les mthodes pour manipuler vos donnes Capacit crer des vues sur vos donnes Des moyens pour reprsenter logiquement vos donnes Permet l'utilisation de XML pour visualiser, partager et stocker des donnes
System.Data
DataSet DataTable
DataRow
DataColumn DataRelation
DataViewManager
Contient les classes principales de LADO.NET Cache en mmoire des donnes Cache en mmoire d'une table Utilis pour manipuler une ligne dans un DataTable Utilis pour dfinir les colonnes dans un DataTable Utilis pour relier 2 DataTable
Utilis pour crer des vues sur DataSets
DataSet
Tables
DataTable
Row(s)
DataView
DataViewManager
DataViewSettings
DataViewSetting DataViewSetting
Relations
DataRelation DataRelation
Column(s)
Constraint(s)
DataTable
DataTable
Un cache mmoire des donnes provenant d'une source de : (Base de donnes relationnelle, fichiers, ) Faon commune de reprsenter et manipuler des donnes
Conteneur de donnes universel Pas seulement pour une utilisation avec les bases de donnes
Une reprsentation des donnes physique - logique Conu pour tre dconnect de la source de donnes
Connecter, excuter une requte, dconnecter
Les collections sont utilises pour ajouter et supprimer des tables et relations
Proprits d'intrt :
Tables: Renvoie une collection de DataTable Relations: Renvoie une collection de DataRelation Namespace: Obtient ou dfinit l'espace de noms du DataSet
Peut tre mappes sur une table physique dune source de donnes Peuvent tre relis les uns aux autres par le biais de DataRelations Proprits d'intrt t:
Columns: Renvoie ColumnsCollection de DataColumn Rows: Renvoie une collection de DataRow de type RowsCollection ParentRelations: Renvoie une RelationsCollection Constraints: Renvoie la table de ConstraintsCollection DataSet: Renvoie le DataSet de DataTable en question PrimaryKey: Renvoie DataColumns qui composent la cl primaire de la table
// Building on the DataTable example earlier... // Get the DataTable DataColumns we want to relate... DataColumn parentCol, childCol; parentCol= ds.Tables["Customers"].Columns["CustID"]; childCol = ds.Tables["Orders].Columns["CustID"]; // Create DataRelation with the name CustomerOrders... DataRelation dr = new DataRelation("CustomersOrders", parentCol, childCol); // Add the relation to the DataSet... ds.Relations.Add( dr );
Reprsente une vue personnalise du DataTable Crer des vues multiples sur lobjet DataTable Bindable avec les contrles dinterface Proprits:
Table: Rfrence sur lobjet DataTable associ. Sort: Get & Set les colonnes de trie. RowFilter: Obtient ou dfinit l'expression utilise pour filtrer les lignes qui s'affichent dans le DataView.
// Code for myTable Customers with Name column not shown DataView view1 = new DataView( myTable ); DataView view2 = new DataView( myTable ); // Creates Ascending view of Customers by Name view1.Sort = Name ASC; // Set the view to show only modified (original) rows view2.RowFilter = "City = Casablanca"; // Bind to UI element(s)... DataGridView myGrid = new DataGridView(); myGrid.DataSource = view1; myGrid.DataSource = view2;
Similaire a DataView mais orient DataSet Utiliser pour crer des vues multiples dans un DataSet
Possibilit de rgler automatiquement les filtres sur les tables
Proprits :
DataViewSettings: collection de DataView pour chaque DataTable DataSet: Gets or Sets le DataSet visualis
// Create the DataViewManager & views... DataViewManager dvMgr = new DataViewManager( ds); dvMgr.CreateDataView( ds.Tables["Orders"] ); dvMgr.DataViewSettings["Orders"].Sort = "CustID ASC"; dvMgr.CreateDataView( ds.Tables["Customers"] ); dvMgr.DataViewSettings["Customers"].Sort = "Name DESC"; // Bind to a UI elements/controls... dataGrid1.DataSource = dvMgr; dataGrid1.DataMember = "Table1"; dataGrid2.DataSource = dvMgr; dataGrid2.DataMember = "Table2"; // Update the control with the data... dataGrid1.Update(); dataGrid2.Update();
Mthode dcriture:
WriteXml, WriteXmlSchema GetXml, GetXmlSchema
// Code for creating the DataSet mds and loading the // DataSet from a data source not shown. String oFile = "C:\\ADO.NET\\myXmlOutput.xsd"; String iFile = "C:\\ADO.NET\\myXmlInput.xsd"; // Write the DataSets XMLSchema to an XML Document mds.WriteXmlSchema( oFile ); // Read/Upload XML Data into the DataSet mds.ReadXml( iFile);
ADO.NET est lvolution de lADO Mode dconnect, Web-centric model Flexibilit de manipulation des donnes Incrmente lagilit dorganisation des donnes Support de lXML
Facilit de travailler et partager des donnes