ADO.net Architecture



Documents pareils
Introduction à ADO.NET

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

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

IFT3030 Base de données. Chapitre 1 Introduction

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Introduction à JDBC. Accès aux bases de données en Java

Visual Basic et les Bases de Données

Les bases de données

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)

BTS/CGO P10 SYSTEME INFORMATION Année

Gestion du cache dans les applications ASP.NET

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

SQL Historique

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

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

PROJET 1 : BASE DE DONNÉES REPARTIES

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Bases de données relationnelles

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

1. Base de données SQLite

Java DataBaseConnectivity

I4 : Bases de Données

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

Bases de Données relationnelles et leurs systèmes de Gestion

A QUOI SERVENT LES BASES DE DONNÉES?

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Application BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :

Bases de données et sites WEB Licence d informatique LI345

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

OpenPaaS Le réseau social d'entreprise

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Java et les bases de données

TP3 : Creation de tables 1 seance

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

CREATION WEB DYNAMIQUE

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

Création et Gestion des tables

Devoir Data WareHouse

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Utilitaires méconnus de StrataFrame

Accès aux bases de données

A QUOI SERVENT LES BASES DE DONNÉES?

PHP. PHP et bases de données

I. MySQL : Serveur et SGBD

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Mysql. Les requêtes préparées Prepared statements

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

Cours Bases de données 2ème année IUT

CATALOGUE FORMATIONS DOMAINE Bases de données

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Le langage SQL (première partie) c Olivier Caron

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Compétences Business Objects

Objectifs du TP : Initiation à Access

Application web de gestion de comptes en banques

Gestion de stock pour un magasin

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é

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

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

Historisation des données

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Notes de cours : bases de données distribuées et repliquées

Programmation d application Bases de données avec Java

Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication

TUTORIEL CartoDB 11/03/15

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

Olivier Mondet

Modélisation et Gestion des bases de données avec mysql workbench

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Les déclencheurs. Version 1.0. Grégory CASANOVA

Cours Bases de données 2ème année IUT

PHP 4 PARTIE : BASE DE DONNEES

Bases de données et fournisseurs de contenu

Rapport de Mini-Projet en ArcGIS Engine

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

Le Langage De Description De Données(LDD)

Présentation Windows Azure Hadoop Big Data - BI

Langage SQL : créer et interroger une base

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Bases de Données OLAP

Les BASES de DONNEES dans WampServer

TP Contraintes - Triggers

Raja Bases de données distribuées A Lire - Tutoriel

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

TD n 10 : Ma première Base de Données

Notion de base de données

Installation / configuration des applications PreInscription et Inscription Web Ajax

Information utiles. webpage : Google+ : digiusto/

Bases de Données Relationnelles. Le Modèle Relationnel

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

Guide d'installation et de configuration du module

Intégrité sémantique dans les bases de données relationnelles

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL

Hébergement et configuration de services WCF. Version 1.0

Rapport de stage. Titre : Aide à la conception d interfaces et déploiement d un site d administration de tables SQL Stagiaire : Julien LE GALL

Transcription:

ADO.net Architecture

Rappels L objet OracleConnection; L objet OracleCommand ; L objet OracleDataReader;

Le DataSet Définition : Un DataSet est vue comme un cache de données avec une structure similaire à une base de données relationnelle. (table, colonnes, contraintes..) Même si un DataSet est similaire à une base de données, cependant il n interagit pas directement avec celle ci. Pour interagir avec une base de donnée, un DataSet a besoin d un DataAdapter.

Le DataSet Les données en provenance d une base de données, d un fichier XML ou d une autre entrée de l utilisateur peuvent être stockées dans un DataSet. Lorsque des modifications sont apportées au DataSet, celles ci peuvent être suivies et vérifiées avant de mettre à jour les données source Creation d un DataSet: DataSet mondataset = new DataSet();

Le DataSet Propriétés importantes: DataSetName : définit ou obtient le nom du DataSet en cours. Tables: permet d obtenir les tables contenues dans le DataSet Méthodes importantes de l objet DataSet AcceptChanges (): Valide toutes les modifications apportées à ce DataSet depuis son chargement ou depuis le dernier appel à AcceptChanges. Clear(): Efface toutes les données de DataSet en supprimant toutes les lignes de l'ensemble des tables. GetChanges() : Obtient une copie du DataSet contenant l'ensemble des modifications qui lui ont été apportées depuis son dernier chargement ou depuis l'appel à AcceptChanges. Les autres voir http://msdn.microsoft.com/fr fr/library/system.data.dataset_methods(vs.80).aspx

Le DataSet: structure

L objet OracleDataAdapter Définition: un objet OracleDataAdapter est un objet ODP qui permet de remplir un DataSet et permet d effectuer les mises à jour de la base de données par le DataSet Propriétés importantes du DataAdapter: DeleteCommand:Obtient ou définit une instruction SQL ou une procédure stockée utilisée pour supprimer de nouvelles dans la base de données. InsertCommand:Obtient ou définit une instruction SQL ou une procédure stockée utilisée pour insérer de nouvelles lignes dans la base de données. SelectCommand:Obtient ou définit une instruction SQL ou une procédure stockée utilisée pour sélectionner des lignes enregistrements dans la base de données. UpdateCommand:Obtient ou définit une instruction SQL ou une procédure stockée utilisée pour mettre à jour des enregistrements dans la base de données. Pour plus de détails voir: http://download.oracle.com/docs/html/b28089_01/oracledataadapterclass.htm#i1001593

L objet OracleDataAdapter Méthodes importantes: Fill ():Ajoute ou actualise des lignes de DataSet pour qu'elles correspondent à celles de la source de données. Update () : Appelle les instructions INSERT, UPDATE ou DELETE respectives pour chaque ligne insérée, mise à jour ou supprimée dans DataSet. Dispose (): Creation d un OracleDataAdapter: string sql = "select * from Livres"; OracleDataAdapter monadapter = new OracleDataAdapter(sql, conn); Remplisage du DataSet: monadapter.fill(mondataset, "Resultatlivre");

L objet OracleDataAdapter Exemple : public Form1() { InitializeComponent(); } private OracleConnection conn = new OracleConnection(); DataSet mondataset =new DataSet(); connection

L objet OracleDataAdapter private void Afficher_Click(object sender, EventArgs e) { string sql = "select * from Livres"; } OracleDataAdapter monadapter = new OracleDataAdapter(sql, conn); //remplisage du DataSet monadapter.fill(mondataset, "Resultatlivre"); masource = new BindingSource(monDataSet, "Resultatlivre"); datagridview1.datasource = masource;

Vider le DataSet avant de le remplir if (mondataset.tables.count > 0) { mondataset.tables["resultatlivre"].clear(); //Ou //mondataset.clear(); }

Le DataBinding Le but du data binding c'est de permettre de lier un contrôle (UI) avec une ou plusieurs sources de données. Bindingsource: peut s appliquer sur un datatable Exemple: masource = new BindingSource(monDataSet, "Resultatlivre"); Resultatlivre représente une table dans le DataSet. Databinding: exemple textbox1.databindings.add("text", dataset1, "Customers.FirstName"); une façon de lier textbox1 à la colonne Customers.FirstName du DataSet1

Le DataBinding S il existe une deuxième textbox lié à une colonne de la même table du même DataSet alors le BindingContext est informé qu il s agit de la même liaison. textbox2.databindings.add("text", dataset1, "Customers.LastName"); Pour parcourir les contenus des textbox à l aide des boutons suivant ou précédent vous pouvez utiliser la propriété Position du BindingContext. this.bindingcontext[dataset1,"customers"].position+=1; ou textbox1.bindingcontext[dataset1,"customers"].position+=1;

Exemple private void afficher_click(object sender, EventArgs e) { string sql ="select * from etudiants"; OracleDataAdapter monadapter = new OracleDataAdapter(sql, conn); monadapter.fill(mondataset,"listeetudiants"); lister(); } private void lister() { Textnumad.DataBindings.Add("Text", mondataset, "ListeEtudiants.numad"); TextNom.DataBindings.Add("Text", mondataset, "ListeEtudiants.Nom"); TextPrenom.DataBindings.Add("Text", mondataset,"listeetudiants.preneom"); }

Exemple: Suite private void suivant_click(object sender, EventArgs e) { //this.bindingcontext[mondataset,"listeetudiants"].position+=1; Textnumad.BindingContext[monDataSet, "ListeEtudiants"].Position += 1; } private void precedent_click(object sender, EventArgs e) { // les deux lignes suivantes font la même chose //this.bindingcontext[mondataset, "ListeEtudiants"].Position = 1; Textnumad.BindingContext[monDataSet, "ListeEtudiants"].Position = 1;

Dissocier les contrôles On peut dissocier les contrôles d une source de données en utilisant la méthode Clear() associée au DataBinding Exemple: private void vider() { //dissocier les contrôles le faire pour tous les text box textnumad.databindings.clear(); textnom.databindings.clear(); //effacer le contenu le faire pour tous les text box textnumad.clear(); textnom.clear(); }

L objet OracleParameter Représente un paramètre pour l objet OracleCommand Déclaration: OracleParameter NomPrametre = new OracleParameter(); Propriétés importantes: parametername: nom du paramètre associé à un nom de colonne OracleDbType : type de données oracle Size: longueur du paramètre. Exemple: OracleParameter paramnumad = new OracleParameter(":numad", OracleDbType.NVarchar2, 3);

Exemple private void Ajouter_Click(object sender, EventArgs e) { OracleCommand oranins = new OracleCommand("insert into ETUDIANTS(numad, nom, PRENEOM, ville) values (:numad,:nom,:preneom,:ville)", conn); // paramètre de la requête //Déclaration des paramètres pour OracleParameter OracleParameter paramnumad = new OracleParameter(":numad", OracleDbType.NVarchar2, 3); OracleParameter paramnom = new OracleParameter(":nom", OracleDbType.NVarchar2, 30); OracleParameter paramprn = new OracleParameter(":PRENEOM", OracleDbType.NVarchar2, 30); OracleParameter paramville = new OracleParameter (":ville", OracleDbType.NVarchar2,30);

Exemple suite //affectation des valeurs à chacun des paramètres paramnumad.value = textnumad.text; paramnom.value = textnom.text; paramprn.value = textprn.text; paramville.value = textville.text;

Exemple suite attribution des paramètres (avec leurs valeurs) aux paramètres de l'oraclecommand OraIns l'ordre dans lequel cette affectation est faîte doit être la même que celle que vous avez dans votre requête SQL INSERT oranins.parameters.add(paramnumad); oranins.parameters.add(paramnom); oranins.parameters.add(paramprn); oranins.parameters.add(paramville); Exécution de la requête Insertion: oranins.executenonquery();

Exercice Donner le code qui permet de faire une modification de la ville (un paramètre) pour un étudiant donné. (numad est un paramètre)

Solution private void Modifier_Click(object sender, EventArgs e) { OracleCommand oraupdate = new OracleCommand("update etudiants set ville =:ville where numad =:Numad ",conn); OracleParameter paramville = new OracleParameter(":ville", OracleDbType.NVarchar2, 30); paramville.value = textville.text; oraupdate.parameters.add(paramville); OracleParameter paramnumad = new OracleParameter(":numad", OracleDbType.NVarchar2, 3); paramnumad.value = textnumad.text; oraupdate.parameters.add(paramnumad); //execution de la requête oraupdate.executenonquery();