Contenu. Utiliser les DataSets Utiliser XML



Documents pareils
Introduction à ADO.NET

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Document Object Model (DOM)

ADO.NET SUPINFO DOT NET TRAINING COURSE

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Visual Basic et les Bases de Données

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté.

DOM - Document Object Model

Technologies DotNET. Vision de Microsoft

Plan. Accès aux données dans le framework.net. ADO.NET Entity Framework LINQ ADO.NET ADO.NET. 1. ADO.NET Mode connecté Mode non connecté

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Programme Compte bancaire (code)

.NET - Classe de Log

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Paginer les données côté serveur, mettre en cache côté client

Déploiement et monitoring

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Plateforme PAYZEN. Définition de Web-services

TP1 : Initiation à Java et Eclipse

Java DataBaseConnectivity

Rapport final de stage. ScatterTangram. Damien Sendner. Sous la direction de. Lorna Mcknight, Brendan Cassidy et

2. Comprendre les définitions de classes

TD3: tableaux avancées, première classe et chaînes

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Définition des Webservices Ordre de paiement par . Version 1.0

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Création d objet imbriqué sous PowerShell.

Master d Informatique Corrigé du partiel novembre 2010

Compte-rendu de projet de Système de gestion de base de données

La base de données XML exist. A. Belaïd

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Hébergement et configuration de services WCF. Version 1.0

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Corrigé des exercices sur les références

Design patterns. Design patterns - définition. Design patterns - avantages

Information utiles. webpage : Google+ : digiusto/

Programmation avec des objets : Cours 7. Menu du jour

eurobraille VOYONS ENSEMBLE MANUEL D'UTILISATION WIFI iris 40, 20 iris-s 32, 20 iris-kb 40,20 VERSION 1.82

TP JAVASCRIPT OMI4 TP5 SRC

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Application de lecture de carte SESAM-Vitale Jeebop

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Threads. Threads. USTL routier 1

Programmation en Java IUT GEII (MC-II1) 1

CRÉER DES LEÇONS AVEC L'ÉDITEUR DU LOGICIEL 1000 MOTS POUR APPRENDRE À LIRE EN FRANÇAIS, ANGLAIS ET ALLEMAND

Fonctions pour la France

Tp 1 correction. Structures de données (IF2)

Effectuer des changements par lots avec BCDI abonnement

Héritage presque multiple en Java (1/2)

SSIS Implémenter un flux

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Programmation Web. Madalina Croitoru IUT Montpellier

Application web de gestion de comptes en banques

Arbres binaires de recherche

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

La gestion de la persistance avec Hibernate. Hibernate et la gestion de persistance. La gestion de la persistance (1/2) Introduction

Un ordonnanceur stupide

Accès aux bases de données

Dans l'article précédent, vous avez appris

Créer une carte personnalisée

Guide de l'utilisateur : Surveillance MédiaSource Analytique

Import des utilisateurs depuis Sconet et STSweb - mise à jour du 04/10/06

Convers3 Documentation version Par Eric DAVID : vtopo@free.fr

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

PDO : PHP Data Object 1/13

Langage Java. Classe de première SI

TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Construire une application marketing Facebook sur la plateforme Windows Azure

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

OpenPaaS Le réseau social d'entreprise

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

FileSender par RENATER - Guide utilisateur

Catalogue des formations 2014

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

Excel 2010 Intermediaire

Tutoriel d installation de Hibernate avec Eclipse

Projet de programmation (IK3) : TP n 1 Correction

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

Bases de données et fournisseurs de contenu

Programmation Réseau. Sécurité Java. UFR Informatique jeudi 4 avril 13

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet

Programmation Objet - Cours II

Keyyo Unify Application de téléphonie intégrée pour Salesforce

Java et les bases de données

Rafraichissement conditionné d'une page en.net

Introduction : Cadkey

as Architecture des Systèmes d Information

Cours 14 Les fichiers

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Programmer en JAVA. par Tama

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.0

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

TP : Gestion d une image au format PGM

Introduction à la programmation concurrente

PHP 5. La base de données MySql. A. Belaïd 1

Transcription:

Données Locales

Contenu Utiliser les DataSets Utiliser XML

Utiliser les DataSets Le modèle ADO.NET Création d'un DataSet Remplissage du DataSet Persistance du DataSet sous la forme d'un fichier XML Binding à un DataSet. tst Utiliser un DataGrid

ADO.NET Model Fournisseur de données.net Connection DataAdapter Transaction SelectCommand Command InsertCommand Parameters UpdateCommand DataReader DeleteCommand DataSet Tables DataTable DataRowCollection DataColumnCollection ConstraintCollection DataRelationCollection BD XML

Création d'un DataSet DataSet ds = new DataSet("Projet"); DataTable dt= ds.tables.add("tâche"); dt.columns.add("nom",system.type.gettype("system.string")); dt.columns.add("début",system.type.gettype("system.string")); t" t tt ("S t St ")) dt.columns.add("durée",system.type.gettype("system.string")); DataSet DataTable

Création d'un DataSet La propriété expression d'une colonne DataTable dt = new DataTable(); dt.columns.add("prix", System.Type.GetType("System.Decimal")); dt.columns["prix"].defaultvalue = 50; dt.columns.add( Add("taxe", System.Type.GetType( GetType("System.Decimal Decimal") ), "prix * 0.2 02"); dt.columns.add("total", System.Type.GetType("System.Decimal"), "prix + taxe"); Les contraintes d'intégrité UniqueConstraint: toutes les valeurs d'une colonne particulière doivent être uniques ForeignKeyConstraint: contrainte de clé externe DataTable dt = new DataTable(); dt.columns.add("id", System.Type.GetType("System.Int32")); UniqueConstraint cl = new UniqueConstraint("cle1" cle1, dt.columns["id"],true); dt.constraints.add(cl);

Remplissage du DataSet DataRow dr= ds.tables["tâches"].newrow(); dr["nom"] = "IHM"; // ou bien dr[0]="ihm" dr["début"] = "1/1/2008"; dr["durée"] = "1 jour"; ds.tables["tâches"].rows.add(dr);) Nom Début Durée IHM 1/1/2008 1 jour Code 2/1/2008 2 jours

La propriété RowState Lorsqu'on modifie une valeur dans un DataTable la valeur d'origine n'est pas immédiatement remplacée par la nouvelle valeur, les deux valeurs sont conservées. La propriété RowState détermine l'état d'une ligne, et peut prendre l'une des valeurs suivantes: Added Deleted Detached Modified Unchanged

Démonstration de la propriété RowState DataRow ligne; // Créer une nouvelle ligne ligne = dt.newrow(); // Detached MessageBox.Show(ligne.RowState); dt.rows.add(ligne); // Added MessageBox.Show(ligne.RowState); dt.acceptchanges(); //les modifications peuvent annulées par appel de la méthode RejectChanges // Unchanged. MessageBox.Show(ligne.RowState); ligne["nom"] = "IHM"; // Modified MessageBox.Show(ligne.RowState); ligne.delete(); // Deleted MessageBox.Show(ligne.RowState);

Application 1: Utiliser un DataSet 1 Création et remplissage d'un DataSet 2 Ajout de données dans un DataSet

Application 1: Utiliser un DataSet Créer un DataSet nommé Clients Contenant la table: info Remplir la table Afficher les lignes de la table dans une boîte de dialogue Ajouter un client Table Info Nom Nafi Diar

Persistance des données à l'aide d'un fichier XML Un DataSet fournit une persistance des données volatile Utiliser WriteXml pour enregistrer des données ds.writexml("windows\data.xml"); Utiliser ReadXml pour remplir le DataSet à partir d'un fichier XML ds.readxml("windows\data.xml");

Persistance d'un DataSet: XmlWriter WriteXml(XmlWriter xw, XmlWriteMode mode); modes: XmlWriteMode.DiffGram: enregistre tous le contenu du DataSet (nouvelles valeurs et valeurs d'origine) XmlWriteMode. IgnoreSchema XmlWriteMode.WriteSchema: //Enregistrement des données et du schéma d'un DataSet DataSet ds = new DataSet(); System.IO.FileStream fs= new System.IO.FileStream("windows\\data2.xml", System.IO.FileMode.Create); System.Xml.XmlTextWriter xr= new System.Xml.XmlTextWriter(fs, System.Text.Encoding.Unicode); ds.writexml(xr, XmlWriteMode.WriteSchema); xr.close();

Persistance d'un DataSet: XmlReader ReadXml (XmlReader, XmlReader.ReadSchema) DataSet ds = new DataSet(); System.IO.FileStream fs= new System.IO.FileStream("windows\\data.xml", System.IO.FileMode.Open); System.Xml.XmlTextReader xr= new System.Xml.XmlTextReader(fs); ds.readxml(xr,xmlreadmode.readschema); Xr.Close();

Application: Utilisation d'un fichier Xml 1 2 Enregistrer le DataSet Remplir le DataSet Enregistrer le DataSet dans un g fichier Xml

Lier un contrôle à un DataSet La propriété DtS DataSource Lie un contrôle à une source de données DataTable dt = ds.tables["info"]; listbox1.datasource = dt; //Colonne à lier listbox1.displaymember = "Nom";

Lier un contrôle à un DataSet La Collection Cll DataBindings DtBidi Un DataBinding permet de lier une propriété du contrôle à un champ d'une table du DataSet label1.databindings.add("text", dstables["tâches"], "Nom");

Utilisation d'un DataGrid dtproduits= d datasetcomptoire.tables["produits"]; System.Windows.Forms.DataGrid pdatagrid = new System.Windows.Forms.DataGrid(); pdatagrid.height = 170; pdatagrid.width = 240; pdatagrid.datasource = dtproduits; this.controls.add(pdatagrid);

Application: Lier un contrôle à un DataSet 1 Lier un contrôle 2 Vérifier la liason Permet de lier la zone de liste lstafficher à la colonne nom de la table Info

Utiliser XML Classes XML supportées Construire un document XmlDocument Lire un document XmlDocument

Classes XML supportées XmlTextReader et XmlTextWriter Parseurs XML en avant uniquement. XmlTextReader Vérifie qele que document et la DTD sont bien formés, mais ne vérifie pas que le document est valide XmlDocument

Construire un document XmlDocument private XmlDocument ConstruireXmlDocument(){ XmlDocument doc = new XmlDocument(); XmlNode nnode; nnode = doc.createelement("projet"); doc.appendchild(nnode); nnode = doc.createelement("tâche"); nnode.innertext = "Code"; doc.documentelement.appendchild(nnode); return doc;} <Projet> <Tâche> Code </Tâche> </Projet>

Lire un document XmlDocument XmlDocument est une représentation en mémoire d'un document DOM Parcourir un document DOM à l'aide des propriétés et méthodes de la classe XmlNode. Lecture et modification des valeurs d'un noeud. private void afficherxmldocument(xmldocument doc) { XmlNodeList noeuds= doc.documentelement.childnodes; StringBuilder s = new StringBuilder(); foreach (XmlNode tache in noeuds) ){ foreach (XmlNode p in tache) { s.append(p.name + ": " + p.innertext + "\n"); } } MessageBox.Show(s.ToString()); }

XmlReader La classe possède un curseur qui définit le nœud courant dans le document XML (au moment de la création d'une instance de la classe XmlReader ce curseur est positionné au début du document, l'appel de la méthode Read() permet de le positionné sur le premier nœud du document.). La méthode Read() positionne le curseur sur le nœud suivant et retourne true, s'il n'existe plus de nœuds à parcourir elle retourne false System.IO.FileStream fs = new System.IO.FileStream("windows\\data2.xml", System.IO.FileMode.Open); System.Xml.XmlTextReader XmlTextReader xr = new System.Xml.XmlTextReader(fs); XmlTextReader(fs); while (xr.read()) { if (xr.hasvalue) //Retourne true si le nœud a une valeur non vide (String.Empty) { MessageBox.Show(xr.Value); } } xr.close(); fs.close();

XmlNode: propriétés Propertiés Description Attributes t Collection des attributs t du nœud courant ChildNodes FirstChild InnerText InnerXml LastChild NextSibling OuterXml Obtient ou définit les valeurs concaténées du nœud et de tous ses nœuds enfants. Obtient ou définit le balisage représentant uniquement les nœuds enfants de ce nœud. Obtient le balisage représentant ce nœud et tous ses nœuds enfants. Vl Value

Application: Ajout d'un élément dans un XmlDocument 1 Ajouter dans un XmlDocument 2 Afficher les éléments ajoutés txttaches: MultiLine:true ReadOnly: true Crée un document Xml et Affiche sa structure dans la zone de texte txttaches Crée un document Xml et Affiche son contenu dans la zone de texte txttaches

Exercices Dans cet exercice vous allez réaliser une application de gestion des rendez-vous dans le contexte d'un cabinet médical. Exercice 1: Implémenter les tâches définies dans le projet de l'exercice Exercice 2: Enregistrer les données dans le fichier xml rdv.xml