Conception et développement d’une application de gestion des opérations de financement pour l'entreprise tunisienne d'activité pétrolière ETAP
Soutenance de projet de fin d’étude pour l’obtention du
Diplôme Nationale d'Ingénieur en Informatique
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
Ce travail s’inscrit dans le cadre du projet de fin d’études pour l’obtention de diplôme de licence en science et technologies de l'information et de la communication. Il vise à réaliser une application web pour l’évaluation des fournisseurs tenant compte les chiffres d'affaires, la condition des livraisons par rapport aux commandes ainsi que les non conformités. Pour ce faire l'application associe des critères quantitatifs pour calculer un taux de respect des engagements moyennant une extraction des données du logiciel de gestion à des critères qualitatifs pour évaluer les aspects affaire et technique des fournisseurs.
Démarche DevOps : présentation des enjeux et des objectifs de l'adaptation des organisations pour l'amélioration de la qualité des produits livré et l'accélération de la mise à disposition des évolutions
Application web de gestion de recrutement- Recruitement managment systemSarra ERRREGUI
Application web de gestion de recrutement pour automatiser le processus de recrutement commençant par la phase de détection du profil chercher jusqu'aux affectations du nouvel recrut dans le département adéquat de l'offre
Ce premier cours présente les notions d'objet et de classe, et le lien entre elles. Il présente aussi le premier concept clé de la programmation orientée objet, à savoir l'encapsulation des données. Les exemples sont fournis dans plusieurs langages (Python, C#, Java, C++ et PHP).
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
Conception et réalisation d'une application de gestion intégrée au sein de la société Eone Group basée sur OpenERP + client mobile en jquerymobile
mise en place des modules vente & achat & stock& comptabilité
développement spécifique : gestion de maintenance ( service technique )
plus d'info :
[email protected][email protected]
Applications Android - cours 3 : Android Studio (Outil de développement)Ahmed-Chawki Chaouche
Installer et configurer Android Studio
Se familiariser avec l’IDE Android Studio
Comprendre le cycle de développement d’une application
Créer et exécuter une application Android
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
Ce travail s’inscrit dans le cadre du projet de fin d’études pour l’obtention de diplôme de licence en science et technologies de l'information et de la communication. Il vise à réaliser une application web pour l’évaluation des fournisseurs tenant compte les chiffres d'affaires, la condition des livraisons par rapport aux commandes ainsi que les non conformités. Pour ce faire l'application associe des critères quantitatifs pour calculer un taux de respect des engagements moyennant une extraction des données du logiciel de gestion à des critères qualitatifs pour évaluer les aspects affaire et technique des fournisseurs.
Démarche DevOps : présentation des enjeux et des objectifs de l'adaptation des organisations pour l'amélioration de la qualité des produits livré et l'accélération de la mise à disposition des évolutions
Application web de gestion de recrutement- Recruitement managment systemSarra ERRREGUI
Application web de gestion de recrutement pour automatiser le processus de recrutement commençant par la phase de détection du profil chercher jusqu'aux affectations du nouvel recrut dans le département adéquat de l'offre
Ce premier cours présente les notions d'objet et de classe, et le lien entre elles. Il présente aussi le premier concept clé de la programmation orientée objet, à savoir l'encapsulation des données. Les exemples sont fournis dans plusieurs langages (Python, C#, Java, C++ et PHP).
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
Conception et réalisation d'une application de gestion intégrée au sein de la société Eone Group basée sur OpenERP + client mobile en jquerymobile
mise en place des modules vente & achat & stock& comptabilité
développement spécifique : gestion de maintenance ( service technique )
plus d'info :
[email protected][email protected]
Applications Android - cours 3 : Android Studio (Outil de développement)Ahmed-Chawki Chaouche
Installer et configurer Android Studio
Se familiariser avec l’IDE Android Studio
Comprendre le cycle de développement d’une application
Créer et exécuter une application Android
Serveur web / Base de donnees Langages de développementLudovic REUS
Une présentation des outils et technologies de l'information et de la communication.
Les serveurs webs et leur marché à ce jour
Les base de données relationnelles et NoSQL
Les langages de développements informatiques
Discovery Session France: Atelier découverte de la Data VirtualizationDenodo
Watch full webinar here: https://bit.ly/3lnhMel
Découvrez la Data Virtualization lors d'un atelier organisé à distance pour les professionnels de la donnée le 26 novembre. Quel que soit votre rôle, responsables IT, architectes, data scientists, analystes ou CDO, vous découvrirez comment la Data Virtualization permet de livrer des données en temps réel et accéder à tout type de source de données pour en tirer de la valeur.
Discovery Session France: Atelier découverte de la Data VirtualizationDenodo
Watch full webinar here: https://bit.ly/36m3hmX
Découvrez la Data Virtualization lors d'un atelier organisé à distance pour les professionnels de la donnée mardi 29 septembre. Quel que soit votre rôle, responsables IT, architectes, data scientists, analystes ou CDO, vous découvrirez comment la Data Virtualization permet de livrer des données en temps réel et accéder à tout type de source de données pour en tirer de la valeur. Découvrez l'agenda complet!
Le Big Data offre la capacité de traiter des volumes de données conséquents à l’aide d’architectures techniques nouvelles, comment les utilisateurs traditionnels (datamanager, datasteward, dataminers) accèderont et traiteront les données dans ces nouvelles architectures ?
Promoting Physical Activity And Health In The Classroom 1st Edition Pangrazi ...altitherto
Promoting Physical Activity And Health In The Classroom 1st Edition Pangrazi Test Bank
Promoting Physical Activity And Health In The Classroom 1st Edition Pangrazi Test Bank
Promoting Physical Activity And Health In The Classroom 1st Edition Pangrazi Test Bank
Learning concurrent programming in Scala learn the art of building intricate ...hinalkijak1l
Learning concurrent programming in Scala learn the art of building intricate modern scalable and concurrent applications using Scala Second Edition Prokopec
Learning concurrent programming in Scala learn the art of building intricate modern scalable and concurrent applications using Scala Second Edition Prokopec
Learning concurrent programming in Scala learn the art of building intricate modern scalable and concurrent applications using Scala Second Edition Prokopec
🎤 Grand oral - Et si votre spontanéité devenait votre plus grande force au G...Miguel Delamontagne
Et si votre spontanéité devenait votre plus grande force au Grand Oral ?
❓ Problème :
Le Grand Oral n’est pas un texte à réciter.
C’est une épreuve vivante, interactive, parfois déstabilisante.
Slide 3
⚠️ Agitation :
➤ Vous êtes interrompu.
➤ On vous interroge à l'improviste.
➤ Vous devez reformuler, expliquer, argumenter... sans note.
⛔ Conséquence :
Sans entraînement à l’improvisation :
😟 perte de moyens, confusion, réponses floues, perte de points.
✅ Solution :
Le discours improvisé vous apprend à :
➤ Structurer vos idées rapidement
➤ Rester clair sous pression
➤ Réagir avec pertinence et confiance
🎯 Compétences clés développées :
✔ Clarté et précision
✔ Qualité de l’argumentation
✔ Aisance orale
✔ Interaction avec le jury
🧠 Méthodes d’entraînement efficaces :
🎤 Mini-débat 1 min / 1 min
💬 Reformulation d’idées en 30 sec
❓ Entraînement Q/R flash entre pairs
🚀 Résultats concrets :
➤ Vous gagnez en assurance
➤ Vous marquez des points
➤ Vous sortez du lot avec naturel
📣 Appel à l’action :
Commencez à vous entraîner dès aujourd’hui.
L’improvisation, ça se travaille, et ça paie.
📘 Conclusion + présentation du livre :
Retrouvez notre méthode dans 📘 Le Grand Oral – Méthode innovante de préparation - Tome 1 - Miguel DELAMONTAGNE
Un guide pas à pas pour maîtriser l’art du discours improvisé et réussir votre oral.
---
L'idée de structurer les trois tomes en une méthode progressive de préparation à l'épreuve du grand oral est excellente et offre de nombreux avantages tant pour les enseignants que pour les élèves. Voici quelques réflexions sur cette approche :
Cohérence et Progression
- Cohérence d'ensemble
- Développement progressif des compétences
Flexibilité et Adaptabilité
- Adaptabilité à différents niveaux
- Utilisation modulaire
Avantages Pédagogiques
- Préparation exhaustive
- Encouragement à la réflexion et à l'autonomie
Conclusion
La collection des trois tomes en tant que méthode progressive de préparation à l'épreuve du grand oral est une approche stratégique et pédagogique qui offre une feuille de route claire et structurée pour les élèves. Elle garantit que chaque étape de la préparation est abordée de manière approfondie, tout en offrant la flexibilité nécessaire pour s'adapter aux besoins individuels des élèves. En fin de compte, cette méthode favorise un apprentissage durable, confiant, et efficace, ce qui augmente les chances de réussite des élèves à l'épreuve du grand oral.
Strategic Management in the Media Theory to Practice 2nd Edition Küngladueriane17
Strategic Management in the Media Theory to Practice 2nd Edition Küng
Strategic Management in the Media Theory to Practice 2nd Edition Küng
Strategic Management in the Media Theory to Practice 2nd Edition Küng
Test Bank for Social Psychology: The Science of Everyday Life First Editionledon9palyanm
Test Bank for Social Psychology: The Science of Everyday Life First Edition
Test Bank for Social Psychology: The Science of Everyday Life First Edition
Test Bank for Social Psychology: The Science of Everyday Life First Edition
Diarrhées aiguës et déshydratation Diarrhées aiguës et déshydratatiode l’enfa...medamine10ma
Les affections qui bloquent les voies respiratoires, les lésions du tissu pulmonaire, l’affaiblissement des muscles qui contrôlent la respiration, ou la diminution de la pulsion de respiration peuvent causer une insuffisance respiratoire.
La personne peut être très essoufflée, présenter une coloration bleutée de la peau, une coloration grise ou blanchâtre dans la bouche, autour des yeux et sous les ongles, et être confuse ou somnolente.
Les médecins ont recours à un capteur digital (oxymètre de pouls) pour détecter de faibles taux d’oxygène dans le sang, et à des analyses de sang pour détecter des taux élevés de dioxyde de carbone dans le sang.
De l’oxygène est administré.
Parfois, la personne a besoin de l’aide d’une machine pour respirer (ventilation mécanique) jusqu’à ce que le problème sous-jacent puisse être traité.
L’insuffisance respiratoire aiguë est une urgence médicale pouvant être due à :
Maladie pulmonaire de longue durée s’aggravant subitement
Maladie pulmonaire sévère se développant subitement chez des personnes sinon en bonne santé
Un exemple de maladie pulmonaire se développant subitement est le syndrome de détresse respiratoire aiguë.
L’insuffisance respiratoire chronique est un problème respiratoire régulier pouvant être dû à une maladie pulmonaire de longue durée telle que la bronchopneumopathie chronique obstructive (BPCO).
Causes de l’insuffisance respiratoire
Presque toutes les maladies qui affectent la respiration ou les poumons peuvent être à l’origine d’une insuffisance respiratoire. L’insuffisance respiratoire peut se manifester de deux façons :
Le taux d’oxygène dans le sang devient trop bas (insuffisance respiratoire hypoxémique).
Le taux de dioxyde de carbone dans le sang devient trop élevé (insuffisance respiratoire hypercarbique).
Parfois, les personnes présentent à la fois un taux d’oxygène bas et un taux de dioxyde de carbone élevé.
Tableau
Quelles sont les causes de l’insuffisance respiratoire ?
Taux d’oxygène bas (insuffisance respiratoire hypoxémique)
Une cause courante d’insuffisance respiratoire hypoxémique est une anomalie du parenchyme pulmonaire, telle que syndrome de détresse respiratoire aiguë, pneumonie sévère, excès de liquide dans les poumons (par exemple, provoqué par une insuffisance cardiaque ou une insuffisance rénale) ou cicatrisation pulmonaire. Ces anomalies perturbent la capacité habituelle du parenchyme pulmonaire à prendre de l’oxygène dans l’air.
Une insuffisance respiratoire hypoxémique peut également survenir si le flux sanguin pulmonaire est perturbé, comme cela se produit lorsqu’un caillot sanguin obstrue une artère pulmonaire (embolie pulmonaire). Cette affection ne perturbe pas la capacité habituelle du parenchyme pulmonaire à prendre l’oxygène, mais avec une partie du tissu pulmonaire non irriguée, l’oxygène n’est pas correctement extrait de l’air.
Taux de dioxyde de carbone élevé (insuffisance respiratoire hypercarbique)
Dans l’insuffisance respiratoire hypercarbique
Que fait le jury si un candidat se présente sans aucune question ou seulement avec une question ?
🎬 2 : Sommaire
- Situation problématique
- Réponse officielle du jury
- Conséquences pour le candidat
- Importance d'une bonne préparation
- Solution pratique : nos livres pour réussir
Conclusion : Ne prenez aucun risque !
🎬 3 : Situation problématique
Que se passe-t-il si :
- Le candidat arrive sans question ?
Le candidat arrive avec une seule question ?
➡️ Une situation grave pour l’épreuve du Grand Oral !
🎬 4 : Réponse officielle du jury
- Épreuve annulée immédiatement
- Procès-verbal rédigé par le jury
- Impossible d’auditionner le candidat, même avec une seule question
🎬 5 : Conséquences pour le candidat
Convocation à une épreuve de remplacement en septembre
En cas de nouvel échec :
➔ Note de 0/20 attribuée
Impact lourd sur Parcoursup et la poursuite d’études
🎬 6 : Importance d'une bonne préparation
- Deux questions obligatoires !
- Validation préalable par les enseignants
- Construction rigoureuse
- Anticipation pour éviter toute erreur administrative
🎬 7 : Solution pratique : nos livres pour réussir
Nos guides recommandés :
🛠️ Comment bien se préparer ?
● Entraînement régulier
● Maîtrise de la structure du discours
● Techniques de gestion du stress
🎬 Nos guides pour réussir
📘 Découvrez nos guides pratiques
📚 Des outils pour exceller au Grand Oral
📕 Le Grand Oral : Rapide et facile avec GPT-4
📗 Le grand oral: Méthode innovante de préparation : Le discours improvisé – Tome 1
📘 Le grand oral: Méthode innovante de préparation: Exercices pratiques corrigés – Tome 2
🎯 Guides par spécialité :
🔢 Le grand oral: Exemples rédigés en Mathématique
🧪 Le grand oral: Exemples rédigés en Physique Chimie
🌿 Le grand oral: Exemples rédigés en SVT - Sciences de la Vie et de la Terre
💻 Le grand oral: Exemples rédigés en NSI - Numérique et Sciences Informatiques
📈 Le grand oral: Exemples rédigés en SES - Sciences Économiques et Sociales
🌍 Le grand oral: Exemples rédigés en HGGSP - Histoire-Géographie, Géopolitique et Sciences Politiques
🎬 : Conclusion
🎯 Ne laissez pas une erreur vous coûter votre bac !
Anticipez.
- Préparez deux questions solides.
- Utilisez les bons outils pour assurer votre réussite.
iOS 11 Swift Programming Cookbook Solutions and Examples for iOS Apps 1st Edi...koleyceccoqw
iOS 11 Swift Programming Cookbook Solutions and Examples for iOS Apps 1st Edition Vandad Nahavandipoor
iOS 11 Swift Programming Cookbook Solutions and Examples for iOS Apps 1st Edition Vandad Nahavandipoor
iOS 11 Swift Programming Cookbook Solutions and Examples for iOS Apps 1st Edition Vandad Nahavandipoor
Grand oral 🎤 - Sur quoi doivent porter les questions préparées pour le Grand ...Miguel Delamontagne
Sur quoi doivent porter les questions préparées pour le Grand Oral ?
Préparation optimale pour réussir son épreuve
🎬 2 : Sommaire
Sommaire :
- Le problème : erreurs fréquentes
- L’importance du choix des questions
- Ce que disent les textes officiels
- Les risques d'une mauvaise préparation
- Comment construire ses questions ?
- Nos solutions pratiques
- À retenir
- Et maintenant ?
🎬 3 : Le problème
Titre : Pourquoi le choix des questions est stratégique ?
- Trop d'élèves choisissent des questions hors sujet ou superficielles.
- Résultat : perte de points lors de l'épreuve.
➡️ Bien comprendre les attentes est essentiel.
🎬 4 : L’importance du choix des questions
Titre : Que cherche le jury ?
- Une question problématisée, structurée et argumentable.
- Un lien direct avec le programme de spécialité de terminale.
- Capacité à expliquer son choix devant le jury.
🎬 5 : Ce que disent les textes officiels
Titre : Les exigences officielles (FAQ Grand Oral 2025)
- Question liée à un ou deux enseignements de spécialité.
- Question transversale possible.
- Question portant sur un point précis du programme00 - Présentation du li….
🎬 6 : Les risques d'une mauvaise préparation
Titre : Que risque-t-on ?
Difficulté à structurer son discours.
Faible interactivité avec le jury.
Impression de manque de sérieux ➡️ mauvaise note.
🎬 7 : Comment construire ses questions ?
Titre : Les critères essentiels
- Lien clair avec les programmes.
- Problématisation du sujet.
- Enjeu de réflexion (pas une simple description).
- Travail personnel valorisé.
🎬 8 : Nos solutions pratiques
Titre : Accélérez votre préparation avec nos guides
📚 Des outils pour exceller au Grand Oral
📕 Le Grand Oral : Rapide et facile avec GPT-4
📗 Le grand oral: Méthode innovante de préparation : Le discours improvisé – Tome 1
📘 Le grand oral: Méthode innovante de préparation: Exercices pratiques corrigés – Tome 2
🎯 Guides par spécialité :
🔢 Le grand oral: Exemples rédigés en Mathématique
🧪 Le grand oral: Exemples rédigés en Physique Chimie
🌿 Le grand oral: Exemples rédigés en SVT - Sciences de la Vie et de la Terre
💻 Le grand oral: Exemples rédigés en NSI - Numérique et Sciences Informatiques
📈 Le grand oral: Exemples rédigés en SES - Sciences Économiques et Sociales
🌍 Le grand oral: Exemples rédigés en HGGSP - Histoire-Géographie, Géopolitique et Sciences Politiques
🎬 9 : À retenir
Titre : Ce qu’il faut retenir
Respecter le lien avec les spécialités.
Problématiser et créer un véritable enjeu.
S’appuyer sur des méthodes éprouvées pour construire ses questions.
🎬 10 : Et maintenant ?
Titre : Prêt à préparer vos questions ?
- Formulez votre première question problématisée.
- Appuyez-vous sur nos guides pour progresser rapidement.
- Faites la différence lors de votre Grand Oral !
Transportation Research Proceedings of CTRG 2017 Tom V. Mathewtoichebachm7
Transportation Research Proceedings of CTRG 2017 Tom V. Mathew
Transportation Research Proceedings of CTRG 2017 Tom V. Mathew
Transportation Research Proceedings of CTRG 2017 Tom V. Mathew
FANON.pptx Film franco-québéco-luxembourgeois.Txaruka
Fanon est un film franco-québéco-luxembourgeois réalisé par Jean-Claude Barny et sorti en 2025.
Il s'agit d'un film biographique sur le psychiatre, militant anticolonialiste et intellectuel Frantz Fanon, originaire de la Martinique.
MultiMedia Modeling 23rd International Conference MMM 2017 Reykjavik Iceland ...rhodaeickeat
MultiMedia Modeling 23rd International Conference MMM 2017 Reykjavik Iceland January 4 6 2017 Proceedings Part II 1st Edition Laurent Amsaleg
MultiMedia Modeling 23rd International Conference MMM 2017 Reykjavik Iceland January 4 6 2017 Proceedings Part II 1st Edition Laurent Amsaleg
MultiMedia Modeling 23rd International Conference MMM 2017 Reykjavik Iceland January 4 6 2017 Proceedings Part II 1st Edition Laurent Amsaleg
Essentials of Contemporary Management Canadian 5th Edition Jones Solutions Ma...picekholpps8
Essentials of Contemporary Management Canadian 5th Edition Jones Solutions Manual
Essentials of Contemporary Management Canadian 5th Edition Jones Solutions Manual
Essentials of Contemporary Management Canadian 5th Edition Jones Solutions Manual
Et si vous pouviez improviser n'importe quel discours avec confiance ?
🚫 Problème :
➔La peur de devoir parler sans préparation nous fige.
➔Trouver ses mots devient une épreuve.
⚠️ Conséquences :
➔ Discours confus
➔ Stress visible
➔ Impression négative sur l'auditoire
➔ Baisse de la note au Grand Oral
✨ Vision idéale :
Imaginez parler spontanément...
➔ Avec clarté, fluidité et impact, même sans avoir rédigé votre discours.
📚 Définition simple :
Un discours improvisé, c'est :
➔ Construire et livrer un discours sans notes pré-écrites.
➔ Structurer ses idées en temps réel, avec méthode et confiance.
🎯 Caractéristiques d'un bon discours improvisé :
➔ Spontanéité : Réagir dans l'instant.
➔ Flexibilité : S'adapter aux questions et au public.
➔ Réactivité : Intégrer les réactions en direct.
🏆 Les avantages pour vous :
➔ Plus d'authenticité devant le jury.
➔ Développement de l'agilité mentale.
➔ Meilleure communication dans toutes les situations.
😰 Les défis à surmonter :
➔ Gérer le stress de l'imprévu.
➔ Structurer ses idées pour rester clair et convaincant.
🔗 La passerelle vers la maîtrise :
Bonne nouvelle : La capacité à improviser efficacement s'apprend !
Notre méthode progressive vous guide pas à pas.
🚀 Conclusion / Appel à l'action :
👉 Maîtrisez l'art du discours improvisé pour briller au Grand Oral.
📖 Découvrez notre méthode complète dans Le 📘 Le Grand Oral – Méthode innovante de préparation - Tome 1 - Miguel DELAMONTAGNE
---
L'idée de structurer les trois tomes en une méthode progressive de préparation à l'épreuve
du grand oral est excellente et offre de nombreux avantages tant pour les enseignants que
pour les élèves. Voici quelques réflexions sur cette approche :
Cohérence et Progression
- Cohérence d'ensemble
- Développement progressif des compétences
Flexibilité et Adaptabilité
- Adaptabilité à différents niveaux
- Utilisation modulaire
Avantages Pédagogiques
- Préparation exhaustive
- Encouragement à la réflexion et à l'autonomie
Conclusion
La collection des trois tomes en tant que méthode progressive de préparation à l'épreuve du grand oral est une approche stratégique et pédagogique qui offre une feuille de route claire et structurée pour les élèves. Elle garantit que chaque étape de la préparation est abordée de manière approfondie, tout en offrant la flexibilité nécessaire pour s'adapter aux besoins individuels des élèves. En fin de compte, cette méthode favorise un apprentissage durable, confiant, et efficace, ce qui augmente les chances de réussite des élèves à l'épreuve du grand oral.
Microsoft Access 2013 Comprehensive 1st Edition Pratt Test Bankforsthazer79
Microsoft Access 2013 Comprehensive 1st Edition Pratt Test Bank
Microsoft Access 2013 Comprehensive 1st Edition Pratt Test Bank
Microsoft Access 2013 Comprehensive 1st Edition Pratt Test Bank
ISO 22000-HACCP Presentation HAMMANI BACHIR .pptxssuser6d4314
► LA NORME ISO 22000 V 2018
► Système de Management de la Sécurité des denrées Alimentaires : exigences pour tout organisme appartenant à la chaine alimentaire
► ISO 22000 est une norme internationale, relative à la sécurité des denrées alimentaires. Elle est applicable pour tous les organismes de la filière agroalimentaire.
► La sécurité des produits alimentaires est une préoccupation majeure sur le marché actuel.
► Il est devenu de plus en plus difficile d'avoir une connaissance correcte des méthodes de production et de l'origine des produits alimentaires.
► Les mesures de sécurité alimentaire reconnues au niveau international ne sont plus un privilège; elles sont devenues une exigence de base pour toutes les organisations qui s'occupent de la production ou de services alimentaires.
حن نجيد التحدث عن بعضنا، لا مع بعصنا
"ان ارضيناك فتحدث عنا، وان لم نرضك تحدث الينا"
فلنطبقها لتنتهي الغيبة بيننا
اللسان ليس له عظام لكنه يقتل أمم
والحياة ما هي الا حياة قصيرة
من تراب - على تراب- الى تراب
ثم حساب- فثواب- او عقاب
فعش حياتك لله - تكن اسعد خلق الله
ISO 22000-HACCP Presentation HAMMANI BACHIR .pptxssuser6d4314
11 visual basic .net - acces aux donnees avec ado .net
1. Microsoft Visual Basic .NET
Découverte du nouvel environnement
Visual Studio .NET
Éléments du langage Visual Basic .NET
Étude et mise en œuvre des
fonctionnalités du nouveau Framework
.NET
Programmation orientée objet et
développement de composants
réutilisables
Accès aux données avec ADO .NET
Professeur: Hamza SAID
1
2. Accès aux données avec ADO .NET
Introduction à ADO .NET et
notions de base sur SQL
Serveur
Accès aux données grâce
aux objets ADO .NET
Professeur: Hamza SAID
2
3. 1. Rappel sur les bases de données
2. Pourquoi ADO .NET ?
3. Présentation de SQL SERVEUR
Introduction à ADO .NET et
notions de base sur SQL Serveur
3
Professeur: Hamza SAID
Accès aux données avec ADO .NET
4. • Dans le langage courant, le terme base de données
est utilisé pour désigner toute source importante de
données telle qu'une encyclopédie
• En informatique, une base de données (Abr. : « BD »
ou « BDD ») est un lot d'informations stockées dans un
dispositif informatique.
• Les technologies existantes permettent:
• d'organiser et de structurer la base de données et mieux manipuler son contenu
• de stocker efficacement de très grandes quantités d'informations
Rappel sur les bases de données4
Professeur: Hamza SAID
Introduction à ADO .NET et
notions de base sur SQL Serveur
5. • L'organisation logique des données se fait selon un
modèle de données (Ex.: modèle de données relationnel)
• L'organisation logique est indépendante de la structure
physique
• Une modification de l'organisation logique ne provoque pas de modification de la
structure physique et vice-versa
• La motivation fondamentale de l'organisation des
données est de permettre d'effectuer des requêtes sur
celles-ci.
• Le modèle de données relationnel est aujourd'hui le plus utilisé parce qu'il est
formellement démontré que ce type de représentation permet de résoudre toutes
requêtes
Rappel sur les bases de données5
Professeur: Hamza SAID
Introduction à ADO .NET et
notions de base sur SQL Serveur
6. • Le logiciel qui manipule les bases de données est
appelé « Système de Gestion de Base de Données »
(SGBD)
• Il permet d'organiser, de contrôler, de consulter et de modifier la base de
données.
• Les opérations sont formulées dans un langage de requête tel que SQL – le
plus connu et employé pour les modèles relationnels.
Rappel sur les bases de données6
Professeur: Hamza SAID
Introduction à ADO .NET et
notions de base sur SQL Serveur
7. • Le catalogue de la librairie en ligne amazon.com est une des plus
grandes bases de données au monde avec plus de 250 millions
d'ouvrages catalogués. La société Amazon.com est également
propriétaire de la banque de données filmographique IMDb.
• Le Système d'information Schengen est une application de base de
données utilisée par les services de police et des douanes de l'Espace
Schengen, en Europe pour collecter et s'échanger des renseignements
judiciaires (mandats d'arrêt, empreintes digitales, interdictions de séjour...)
• Les logiciels antivirus utilisent souvent une base de données dans laquelle
sont enregistrées les empreintes laissées par les virus informatiques.
• Etc.
Exemples7
Professeur: Hamza SAID
Rappel sur les bases de données
8. 1. Bref historique
2. Solution proposée par .NET
Pourquoi ADO .NET ?8
Professeur: Hamza SAID
Introduction à ADO .NET et
notions de base sur SQL Serveur
9. • L'une des principales raisons de l'évolution rapide qu'ont subie les
technologies d'accès aux données a été le besoin de réduire le couplage
existant entre l'application et la base de données
• La première étape marquante fut l'apparition de l'ODBC (Open Data
Base Connectivity)
• L'ODBC sert d'interface (middleware) entre les applications et la base de
données
• L'ODBC possède un gestionnaire de pilotes que l'on trouve dans le
panneau de configuration de Windows (comme un gestionnaire
d'impression)
• L'ODBC est basé sur des appels API écrits en C, les accès aux données se
sont vite révélés difficiles à mettre en oeuvre
Bref historique9
Professeur: Hamza SAID
Pourquoi ADO .NET ?
10. • Microsoft Access fut lancée avec une programmation fondée sur un
modèle objet beaucoup plus simple à manipuler que les API
• Ce qui conduit Microsoft a encapsuler ces API dans un modèle objet
nommé RDO(Remote Data Object) calqué sur le modèle Access
• Avec l'avènement d'Internet, il y a eu un besoin de répartir davantage
les traitements
• ADO (ActiveX Data Objects) sont apparues avec Visual Basic 6
• ADO sont des composants COM basés sur une nouvelle API nommée OLE
DB
• supportent plus de formats de données
• reprennent les sources de données ODBC
Bref historique10
Professeur: Hamza SAID
Pourquoi ADO .NET ?
11. • Avec cette architecture (ADO), on commence à parler
de "sources de données" de manière générique.
L'application qui utilise ces données est considérée
comme "consommateur de données"
• Problème majeur : ADO ne fonctionne que sous
Windows
Bref historique11
Professeur: Hamza SAID
Pourquoi ADO .NET ?
12. Sortie de l’ADO .NET qui présente les nouveautés
suivantes :
• Une architecture plus optimisée :
• de nouveaux fournisseurs de données voient le jour.
• Certains fournisseurs fonctionnent en mode natif:
• Suppression des couches intermédiaires entre l'application et sa source de données.
• Accès direct à la source de données.
• Par exemple le .NET Framework comprend le fournisseur de données SQL Server .NET
en mode natif via le namespace System.Data.SqlClient.
Solution proposée par .NET12
Professeur: Hamza SAID
Pourquoi ADO .NET ?
13. • Un meilleur support du mode déconnecté (Offline) :
• Dans une application Web, le maintien d'une connexion SGBD ouverte doit être
le plus court possible
• car le nombre de connexions ouvertes vers une source de données peut constituer un
frein à la capacité de montée en charge d'une application.
• Le modèle ADO dans son temps, avait évolué afin de répondre à ce besoin par
un Recordset déconnecté.
• Aujourd'hui Microsoft encourage le mode déconnecté et propose des classes
spécialisées supportant les deux modes :
• connecté (via l'objet DataReader)
• et déconnecté (via l'objet DataSet).
La réponse .NET13
Professeur: Hamza SAID
Pourquoi ADO .NET ?
14. • Un meilleur support de XML :
• Dans ADO .NET XML est utilisé comme le format de transmission universel de
données.
La réponse .NET14
Professeur: Hamza SAID
Pourquoi ADO .NET ?
Note :
Les ADO classiques sont toujours disponibles dans l'environnement
.NET
15. • Microsoft SQL Server est un système de gestion de
base de données (SGBD) développé et
commercialisé par la société Microsoft
• Initialement co-développé par Sybase et Microsoft
• Sa première version date de 1989
• La version 2008 de SQL Server est disponible depuis
août 2008. Elle est actuellement au niveau de service
pack 2
Présentation de SQL SERVEUR15
Professeur: Hamza SAID
Introduction à ADO .NET et
notions de base sur SQL Serveur
17. 1. Langages
2. Relations
3. Transactions
4. Fichiers
5. Objets de la base de données
6. Editions SQL Server
Fonctionnement17
Professeur: Hamza SAID
Présentation de SQL SERVEUR
18. • Pour les requêtes, SQL Server utilise T-SQL (Transact-
SQL)
• Il s'agit d'une implémentation de SQL qui prend en
charge les procédures stockées et les déclencheurs
(Trigger)
• Le T-SQL est incompatible avec le PL/SQL d'Oracle
Langages18
Professeur: Hamza SAID
Présentation de SQL SERVEUR
19. • SQL Server est un SGBD relationnel.
• Il est possible de définir des relations entre les tables
de façon à garantir fortement l'intégrité des données
qui y sont stockées.
• Ces relations peuvent être utilisées pour modifier ou
supprimer en chaîne des enregistrements liés
Relations19
Professeur: Hamza SAID
Présentation de SQL SERVEUR
20. • SQL Server est un SGBD transactionnel.
• Il est capable de préparer des modifications sur les
données d'une base et de les valider ou de les
annuler d'un bloc.
• Cela garantit l'intégrité des informations stockées
dans la base.
Transactions20
Professeur: Hamza SAID
Présentation de SQL SERVEUR
21. Les bases de données sont contenues physiquement dans des
fichiers. Les fichiers portent généralement les extensions :
• MDF (Main Database File) pour le premier fichier de données
• NDF (Next Database File) pour les autres fichiers de données
• LDF (Log Database File) pour les fichiers du journal de
transaction
• SDF (SQL Server Compact Edition Database File) pour les
bases de données SQL Server Compact
Fichiers21
Professeur: Hamza SAID
Présentation de SQL SERVEUR
22. • Plusieurs objets peuvent coexister :
• Tables
• Vues
• Index
• Procédures stockées
• Déclencheurs (Triggers)
• Fonctions (UDF : User Defined Function)
• Aspects objet
• Ex.: la possibilité de réaliser des types complexes structurés via un langage externe
de type .net et de les utiliser aussi bien en tant que colonne de table qu'en tant que
type d'une variable dans une routine (procédure, déclencheur ou fonction).
Objets de la base de données22
Professeur: Hamza SAID
Présentation de SQL SERVEUR
24. • Datacenter Edition:
• Amenée à apparaître avec SQL Server 2008 R2, elle supportera jusqu'à 256 processeurs, ainsi
que la virtualisation illimitée.
• Enterprise Edition:
• Elle supporte un nombre de processeurs et une taille de mémoire vive illimitée (limités par le
système d'exploitation) et n'a pas de limite quant à la taille des bases de données.
• Developer Edition:
• Il s'agit d'une édition pour les développeurs qui dispose des mêmes fonctionnalités que l'édition
Entreprise. Cependant la licence contient des restrictions quant à son utilisation.
• Standard Edition:
• Elle supporte jusqu'à 4 processeurs et une taille de mémoire vive illimitée (limitée par le
système d'exploitation) et n'a pas de limite quant à la taille des bases de données.
Editions SQL Server24
Professeur: Hamza SAID
Présentation de SQL SERVEUR
25. • Workgroup Edition:
• Nouvelle édition apparue avec SQL Server 2005. Elle supporte jusqu'à 2 processeurs et 3 Go de mémoire
vive, et n'a pas de limite quant à la taille des bases de données.
• Web Edition:
• Nouvelle édition apparue sous SQL Server 2008. Proche de l'édition Standard en termes de fonctionnalité. Sa
licence ne permet son utilisation que comme serveur de base de données pour un site ou service Web.
• Express Edition:
• Microsoft a édité une édition gratuite composée uniquement du moteur de base de données relationnel, bridé
à 4 Go d'espace disque (10 Go dans la version 2008 R2) et 5 utilisateurs concurrents en exécution.
• Compact Edition:
• Appelée auparavant : Pocket PC / Mobile / Everywhere Edition. Il s'agit d'une édition légère adaptée à
l'utilisation sur des PDA ou smartphones munis de Windows Mobile. La version Compact (version 3.5), qui
succède aux éditions Mobile s'ouvre elle aux postes de travail classiques à base de Windows. Cette édition
peut participer à une réplication en tant qu'abonné.
Editions SQL Server25
Professeur: Hamza SAID
Présentation de SQL SERVEUR
26. Accès aux données avec ADO .NET
Introduction à ADO .NET et
notions de base sur SQL
Serveur
Accès aux données grâce
aux objets ADO .NET
Professeur: Hamza SAID
26
27. 1. Choix d'un fournisseur de données .NET
2. Le modèle objet ADO .NET
3. L'objet « Connection »
4. L'objet « Command »
5. L'objet « DataReader »
6. L'objet « DataSet »
7. L'objet « DataAdapter »
8. Les contrôles d'accès aux données
Accès aux données grâce aux objets ADO .NET
27
Professeur: Hamza SAID
Accès aux données avec ADO .NET
28. • OLE DB et ODBC sont des fournisseurs de données
• Leurs successeurs sous .NET sont les "Providers" ou
fournisseurs d'accès managés
• Un fournisseur managé et géré et optimisé par le
Framework .NET
• C'est lui qui gère les connexions aux bases de
données
Provider (Fournisseur d’accès managé)28
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
29. • Pour pouvoir faire appel aux classes proposées par ADO .NET il est
nécessaire d'inclure une référence à l'espace de noms correspondant.
• Plusieurs espaces de noms sont disponibles avec ADO .NET parmi
lesquels :
Choix d'un fournisseur de données .NET29
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Espace de nom Description
System.Data.SqlClient Fournisseur de données spécifiques pour SQLServer V7 ou supérieure
System.Data.SqlServerCe Fournisseur de données spécifiques pour SQL Server Compact
System.Data.OleDb Propose la gestion de sources de données accédées via un driver
(générique) OleDb
System.Data.Odbc Propose la gestion de sources de données accédées via un driver Odbc
System.Data.OracleClient Propose un accès à des sources de données Oracle (v8.1.7 ou supérieure)
30. • Dans nos exemples nous allons toujours travailler avec le
fournisseur SQL Server Compact.
• L'utilisation des autres fournisseurs se fait de manière similaire.
La seule distinction est le nom qui est préfixé par OLE DB,
SQL, SQLCe etc.
Choix d'un fournisseur de données .NET30
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
'Inclusion d'un namespace
Imports System.Data.SqlServerCe
31. • ADO .NET comprend quelques objets similaires aux
ADO (comme les objets « Connection » et
« Command »)
• L'objet Recordset n'existe plus, il a été remplacé par
les objets « DataReader » et « DataSet ».
Le modèle objet ADO .NET31
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
32. • L’objet « Connection » est
toujours nécessaire pour
accéder à une base de
données
• Ensuite, deux approches
peuvent être adoptées:
1. Extraire des données en lecture seule
avec un « DataReader »
2. Créer un « DataSet » permettant de
manipuler les données
Le modèle objet ADO .NET32
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
33. • Le « DataReader » utilise
l’objet « Command » pour
accéder aux données
• Le « DataSet » est
alimenté par un objet
« DataAdapter »
Le modèle objet ADO .NET33
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
34. • 3ème approche : exécuter
des instructions SQL
UPDATE, INSERT ou DELETE
directement à partir d’un
objet « Command »
Le modèle objet ADO .NET34
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
35. Le modèle objet ADO .NET35
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Objet Description
Connection Ouvre une connexion vers une source de données spécifique
Command Exécute une commande sur une source de données
DataReader Lit un flux de données à partir d'une source de données en mode
connecté. Le mode d'accès est en lecture seule avec un curseur en avant
seulement.
DataSet Représente un ensemble de données en mode déconnecté. Il peut être
constitué de plusieurs tables ainsi que des relations et contraintes existant
entre elles.
DataAdapter Remplit un DataSet et répercute les mises à jour dans la source de
données.
36. • La connectivité à une base de données est assurée par l'objet
« Connection ».
• Le Framework .NET propose des objets de connexion
différents en fonction du type de fournisseur de données
choisi.
• Exemple:
• Pour un fournisseur SQL Server Compact on utilise l'objet « SqlCeConnection »
• Pour une connectivité à SQL Server Express on utilise « SqlConnection » de l'espace de noms
« System.Data.SqlClient ».
• « OleDbConnection » si votre fournisseur est un fournisseur « OleDb ».
• L'ouverture d'une connexion est réalisée par la méthode
« Open » et la fermeture par la méthode « Close ».
L'objet « Connection »36
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
37. L'objet « Connection » - Exemple37
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf"
Try
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
oConnection.Open()
Console.WriteLine("Etat de la connexion : " & oConnection.State)
oConnection.Close()
Catch e As Exception
Console.WriteLine("L'erreur suivante a été rencontrée :" & e.Message)
End Try
38. L'objet « Connection » - Exemple38
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf"
Try
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
oConnection.Open()
Console.WriteLine("Etat de la connexion : " & oConnection.State)
oConnection.Close()
Catch e As Exception
Console.WriteLine("L'erreur suivante a été rencontrée :" & e.Message)
End Try
Instanciation
d’un objet
« Connection »
Fermeture de la connexion
Ouverture de la connexion
39. • C'est une chaîne de caractère qui donne des informations
sur une source de données et les moyens pour s'y
connecter.
• Elle est passée à un Driver ou un Provider (Fournisseur) pour
pouvoir initier une connexion
• Exemple:
• "Data Source=|DataDirectory|Northwind.sdf"
• On peut stocker la « ConnectionString » dans le fichier
« App.config » de notre projet pour avoir un meilleur accès à
cette information
• Note: lors de l'ajout d'une source de données au projet, la « connectionString » est
automatiquement créée dans le fichier « App.config »
La chaîne de connexion (ConnectionString)
39
Professeur: Hamza SAID
L'objet « Connection »
40. La chaîne de connexion (ConnectionString)
40
Professeur: Hamza SAID
L'objet « Connection »
Exemple de fichier « App.config »:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="NorthwindConnectionString"
connectionString="Data Source=|DataDirectory|Northwind.sdf"
providerName="Microsoft.SqlServerCe.Client.3.5" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
</startup>
</configuration>
41. La chaîne de connexion - Exemple41
Professeur: Hamza SAID
L'objet « Connection »
Try
Dim oConnection As SqlCeConnection = New SqlCeConnection( _
My.Settings.NorthwindConnectionString)
oConnection.Open()
Console.WriteLine("Etat de la connexion : " & oConnection.State)
oConnection.Close()
Catch e As Exception
Console.WriteLine("L'erreur suivante a été rencontrée :" & e.Message)
End Try
Grâce au fichier « App.config » on peut réécrire l'exemple précédent comme suit:
Utilisation de la chaîne de connexion,
nommée « NorthwindConnectionString »
stockée dans le fichier « App.config »
42. • Une fois la connexion vers une base de données effectuée, on peut
exécuter une requête et récupérer son résultat grâce à l'objet
« Command ».
• La création d'un objet Command nécessite l'instanciation d'un objet
« SqlCeCommand » (dans le cas de SQL Server Compact).
• SQLCeCommand expose différentes méthodes "Execute" à utiliser
selon le résultat attendu :
• ExecuteReader : peut être utilisé pour récupérer un jeu d'enregistrements et
retourne un objet « DataReader ».
• ExecuteScalar : récupère une valeur unitaire.
• ExecuteNonQuery : exécute une commande ne retournant pas de lignes.
•
L'objet « Command »42
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
43. Exemple: La méthode « ExecuteNonQuery »
43
Professeur: Hamza SAID
L'objet « Command »
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf"
Dim strRequete As String = "INSERT INTO Region VALUES (5,'Sud')«
Try
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
oCommand.ExecuteNonQuery()
oConnection.Close()
Catch e As Exception
Console.WriteLine("L'erreur suivante a été rencontrée :" & e.Message)
End Try
44. Exemple: La méthode « ExecuteNonQuery »
44
Professeur: Hamza SAID
L'objet « Command »
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf"
Dim strRequete As String = "INSERT INTO Region VALUES (5,'Sud')«
Try
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
oCommand.ExecuteNonQuery()
oConnection.Close()
Catch e As Exception
Console.WriteLine("L'erreur suivante a été rencontrée :" & e.Message)
End Try
Création de l’objet
« Command »
Exécution de la
commande
45. Exemple: La méthode « ExecuteScalar »45
Professeur: Hamza SAID
L'objet Command
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf«
Dim strRequete As String = "SELECT Count(*) FROM Categories“
Dim iResultat As Integer
Try
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
iResultat = oCommand.ExecuteScalar
Console.WriteLine("Nb de lignes enregistrées :" & iResultat)
oConnection.Close()
Catch e As Exception
Console.WriteLine("L'erreur suivante a été rencontrée :" & e.Message)
End Try
46. Exemple: La méthode « ExecuteScalar »46
Professeur: Hamza SAID
L'objet Command
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf«
Dim strRequete As String = "SELECT Count(*) FROM Categories“
Dim iResultat As Integer
Try
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
iResultat = oCommand.ExecuteScalar
Console.WriteLine("Nb de lignes enregistrées :" & iResultat)
oConnection.Close()
Catch e As Exception
Console.WriteLine("L'erreur suivante a été rencontrée :" & e.Message)
End Try
Création de l’objet
« Command »
Exécution de la
commande
47. • Scénario :
• On doit effectuer un virement bancaire d'un compte vers un autre. Dans
ce cas-ci, il faut réaliser deux opérations : le crédit d'un montant donné
sur premier compte et le débit du même montant sur un autre.
• L'équilibre de la balance des comptes ne pourrait pas être respecté si
une erreur quelconque se produisait entre les deux opérations.
• Pour éviter ce genre de situation, une série de
modifications doit être exécutée au sein d'une même
transaction afin de la rendre indivisible.
• En cas d'erreur détectée, l'ensemble des modifications est
alors annulé, et les données reprennent leur état initial.
L'objet « Transaction »47
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
48. L'objet « Transaction » - Exemple48
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf«
Dim strRequete As String = "INSERT INTO Region VALUES (5,'Sud')“
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
Dim tr As SqlCeTransaction = oConnection.BeginTransaction
Try
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
oCommand.ExecuteNonQuery()
tr.Commit()
oConnection.Close()
Catch e As Exception
tr.Rollback()
oConnection.Close()
Console.WriteLine("L'erreur suivante a été rencontrée :" & e.Message)
End Try
49. L'objet « Transaction » - Exemple49
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf«
Dim strRequete As String = "INSERT INTO Region VALUES (5,'Sud')“
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
Dim tr As SqlCeTransaction = oConnection.BeginTransaction
Try
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
oCommand.ExecuteNonQuery()
tr.Commit()
oConnection.Close()
Catch e As Exception
tr.Rollback()
oConnection.Close()
Console.WriteLine("L'erreur suivante a été rencontrée :" & e.Message)
End Try
Commencer la
transaction
Appliquer les
changements
Annuler les
changements
50. • L'objet « DataReader » permet de récupérer d'une
source de données un flux en lecture seule en avant
seulement (read only, forward only).
• Il résulte de l'exécution de la méthode
« ExecuteReader » sur un objet « Command ».
• La méthode « Close » ferme un objet
« DataReader ».
L'objet « DataReader »50
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
51. • L'objet « DataReader » ne stocke en mémoire qu'une seule
ligne à la fois à chaque appel de la méthode « Read »
• Il est possible d'accéder aux valeurs de colonnes soit par leurs
noms soit par leurs références ordinales.
• Une solution plus performante est proposée permettant
d'accéder aux valeurs dans leurs types de données natifs
(GetInt32, GetDouble, GetString .).
L'objet « DataReader »51
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Exemple:
Si la première colonne de la ligne indicée
par 0 est de type int, alors il est possible de
la récupérer à l'aide de la méthode
GetInt32 de l'objet « DataReader ».
Dim iColonne As Integer
iColonne = oDataReader.GetInt32(0)
52. • Il est recommandé d'utiliser cet objet si :
• Vous n'avez pas besoin de réaliser un cache des données
• Vous traitez un jeu d'enregistrements trop important pour être stocké en
mémoire
• Vous souhaitez accéder à des données rapidement en lecture seule en avant
seulement
L'objet « DataReader »52
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
53. L'objet « DataReader » - Exemple53
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
' Exemple d'extraction de données avec l'objet DataReader
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf"
Dim strRequete As String
strRequete = "SELECT [Category ID], [Category Name] FROM Categories;"
Try
Dim oConnection As New SqlCeConnection(strConnexion)
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
Dim oReader As SqlCeDataReader = oCommand.ExecuteReader()
Console.WriteLine(ControlChars.Tab + "{0}" + ControlChars.Tab + "{1}",
oReader.GetName(0), oReader.GetName(1))
While oReader.Read()
Console.WriteLine(ControlChars.Tab + "{0}" + ControlChars.Tab + "{1}",
oReader.GetInt32(0), oReader.GetString(1))
End While
oReader.Close()
oConnection.Close()
Catch ex As Exception
Console.WriteLine("L'erreur suivante a été rencontrée :" & ex.Message)
End Try
54. L'objet « DataReader » - Exemple54
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
' Exemple d'extraction de données avec l'objet DataReader
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf"
Dim strRequete As String
strRequete = "SELECT [Category ID], [Category Name] FROM Categories;"
Try
Dim oConnection As New SqlCeConnection(strConnexion)
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
Dim oReader As SqlCeDataReader = oCommand.ExecuteReader()
Console.WriteLine(ControlChars.Tab + "{0}" + ControlChars.Tab + "{1}",
oReader.GetName(0), oReader.GetName(1))
While oReader.Read()
Console.WriteLine(ControlChars.Tab + "{0}" + ControlChars.Tab + "{1}",
oReader.GetInt32(0), oReader.GetString(1))
End While
oReader.Close()
oConnection.Close()
Catch ex As Exception
Console.WriteLine("L'erreur suivante a été rencontrée :" & ex.Message)
End Try
Récupération de l’objet
« DataReader »
Lecture ligne par ligne
de données
Fermeture du
« DataReader »
55. L'objet « DataReader » - Exemple55
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
' Exemple d'extraction de données avec l'objet DataReader
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf"
Dim strRequete As String
strRequete = "SELECT [Category ID], [Category Name] FROM Categories;"
Try
Dim oConnection As New SqlCeConnection(strConnexion)
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
Dim oReader As SqlCeDataReader = oCommand.ExecuteReader()
Console.WriteLine(ControlChars.Tab + "{0}" + ControlChars.Tab + "{1}",
oReader.GetName(0), oReader.GetName(1))
While oReader.Read()
Console.WriteLine(ControlChars.Tab + "{0}" + ControlChars.Tab + "{1}",
oReader.GetInt32(0), oReader.GetString(1))
End While
oReader.Close()
oConnection.Close()
Catch ex As Exception
Console.WriteLine("L'erreur suivante a été rencontrée :" & ex.Message)
End Try
Récupération de l’objet
« DataReader »
Lecture ligne par ligne
de données
Fermeture du
« DataReader »
Résultat de l'exécution:
-----------------------------------
Category ID Category Name
1 Beverages
2 Condiments
3 Confections
4 Dairy Products
5 Grains/Cereals
6 Meat/Poultry
7 Produce
8 Seafood
56. • Le DataSet est une représentation globale de notre
base de données
• Il repose sur le langage XML (Extensible Markup
Language)
• Il peut comporter des tables, des vues, des relations,
etc.
• Le « DataSet » permet de manipuler les bases de
données en mode déconnecté
L'objet « DataSet »56
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
57. • Les principaux bénéfices qui se dégagent de ce
mode de fonctionnement sont les suivants :
• Le serveur n'a pas besoin de maintenir de connexion
active ni de gestion de curseur pendant que l'application
effectue ses traitements
• Le serveur peut faire face à une augmentation de charges
beaucoup plus facilement
• Du point de vue de l'application, les performances seront
toujours optimales, puisque la plupart des opérations
seront réalisées localement
L'objet « DataSet »57
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
58. L'objet « DataSet » - Exemple58
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
59. • L'objet « DataAdapter » nous permet de manipuler des
objets « DataSet »
• Il assure la liaison entre une base de données et un
« DataSet »
• Cet objet permet d'extraire, ajouter, supprimer, trier...
les données d'une base de données en offline, par lots
en se basant sur les données du « DataSet ».
• L'objet « DataAdapter » est souvent utilisé avec des
contrôles d'affichage ou d'édition de données tels que
« DataGridView »
L'objet « DataAdapter »59
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
60. L'objet « DataAdapter »
Exemple d'extraction de données
60
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Try
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf"
Dim strRequete As String = "SELECT * FROM Categories“
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
Dim ds As New DataSet
Dim da As SqlCeDataAdapter = New SqlCeDataAdapter(strRequete, strConnexion)
da.Fill(ds)
oConnection.Close()
DataGridView1.DataSource = ds.Tables(0)
Catch e As Exception
MsgBox("L'erreur suivante a été rencontrée :" & e.Message)
End Try
61. L'objet « DataAdapter »
Exemple d'extraction de données
61
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Try
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf"
Dim strRequete As String = "SELECT * FROM Categories“
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
Dim ds As New DataSet
Dim da As SqlCeDataAdapter = New SqlCeDataAdapter(strRequete, strConnexion)
da.Fill(ds)
oConnection.Close()
DataGridView1.DataSource = ds.Tables(0)
Catch e As Exception
MsgBox("L'erreur suivante a été rencontrée :" & e.Message)
End Try
Création de l’objet
« DataAdapter »
Remplissage du « DataSet » avec des
données de la base de données grâce
au « DataAdapter » créé
Affectation d’une table du
« DataSet » à un contrôle
« DataGridView » pour
l’affichage
Création de l’objet
« DataSet » pour
contenir les données
62. L'objet « DataAdapter » - Resultat
Exemple d'extraction de données
62
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Try
Dim strConnexion As String = "Data Source=|DataDirectory|Northwind.sdf"
Dim strRequete As String = "SELECT * FROM Categories“
Dim oConnection As SqlCeConnection = New SqlCeConnection(strConnexion)
Dim oCommand As New SqlCeCommand(strRequete, oConnection)
oConnection.Open()
Dim ds As New DataSet
Dim da As SqlCeDataAdapter = New SqlCeDataAdapter(strRequete, strConnexion)
da.Fill(ds)
oConnection.Close()
DataGridView1.DataSource = ds.Tables(0)
Catch e As Exception
MsgBox("L'erreur suivante a été rencontrée :" & e.Message)
End Try
Création de l’objet
« DataAdapter »
Remplissage du « DataSet » avec des
données de la base de données grâce
au « DataAdapter » créé
Affectation d’une table du
« DataSet » à un contrôle
« DataGridView » pour
l’affichage
Création de l’objet
« DataSet » pour
contenir les données
63. • On remarque ici qu'on peut fournir directement une
table (DataTable) du DataSet comme source à un
contrôle « DataGridView »
DataGridView1.DataSource = ds.Tables(0)
• La mise à jour et la suppression de données se font
par lot en invoquant la méthode "Update". Tous les
changements effectués dans le DataSet seront
répercutés sur la Base de données
L'objet « DataAdapter »63
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
64. • Le DataAdapter encapsule quatre objets Command :
• Une instruction SQL SELECT qui permet d'extraire les informations voulues
• Les trois autres commandes sont générées d'après cette commande SELECT, afin
de disposer des instructions SQL UPDATE, INSERT et DELETE
• Ces trois dernières commandes peuvent soit être écrites manuellement, soit être
obtenues grâce à l'objet « SqlCeCommandBuilder »
L'objet « DataAdapter »64
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Dim cmdBuilder As SqlCeCommandBuilder = New SqlCeCommandBuilder(da)
65. L'objet « DataAdapter »
Exemple de mise à jour de données
65
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Try
Dim cmdBuilder As SqlCeCommandBuilder = New SqlCeCommandBuilder(da)
Dim changes As DataSet = ds.GetChanges()
If changes IsNot Nothing Then
da.Update(changes)
End If
MsgBox("Changes Done")
Catch ex As Exception
MsgBox("L'erreur suivante a été rencontrée :" & ex.Message)
End Try
Note importante:
Dans cet exemple, on suppose
que le DataSet (ds) et le
DataAdapter (da) ont été déjà
créés
66. L'objet « DataAdapter »
Exemple de mise à jour de données
66
Professeur: Hamza SAID
Accès aux données grâce aux objets
ADO .NET
Try
Dim cmdBuilder As SqlCeCommandBuilder = New SqlCeCommandBuilder(da)
Dim changes As DataSet = ds.GetChanges()
If changes IsNot Nothing Then
da.Update(changes)
End If
MsgBox("Changes Done")
Catch ex As Exception
MsgBox("L'erreur suivante a été rencontrée :" & ex.Message)
End Try
On crée l’objet
« SqlCeCommandBuilder » en lui
passant en paramètre notre
« DataAdapter »
On demande au DataSet de nous
fournir les changements qui ont été
effectués
Mise à jour de la base de
données avec les
changements récupérés
Note importante:
Dans cet exemple, on suppose
que le DataSet (ds) et le
DataAdapter (da) ont été déjà
créés
68. Pour des besoins de simplicité, l'environnement .NET propose des contrôles capables de
générer un « DataSet » complètement opérationnel en un temps record.
Les contrôles d'accès aux données68
Professeur: Hamza SAID
Démonstration
69. 1. Construisez une base de données SQL Server Compact pour
une gestion de contacts
2. Créez un formulaire capable d’exploiter cette base de
données (Ajout, modification, suppression et affichage des
contacts). Utilisez la 3ème approche: Exécution de commandes
SQL avec un objet « Command ».
Exercice – Gestionnaire de contacts69
Professeur: Hamza SAID
Accès aux données avec ADO .NET
70. • Architecture et Fonctionnement des objets ADO .NET
• Fonctionnement de SQL SERVER
• Fournisseurs de données (Provider)
• Les objets « Connection », « Command »,
« DataReader », « DataSet » et « DataAdapter »
• Les contrôles d'accès aux données
En bref70
Professeur: Hamza SAID
Accès aux données avec ADO .NET