ENSEIGNEMENT DE PROMOTION SOCIALE
——————————————————————
Cours de
LANGAGE ORIENTE OBJET
- Accès C++ aux bases de données -
——————————————————————
H. Schyns
v 1.0
Avril 2013
Accès C++ aux bases de données Sommaire
H. Schyns S.1
Sommaire
1. INTRODUCTION
2. PRINCIPES DE BASE ET VOCABULAIRE
2.1. Base de données
2.2. Associer application et base de données
2.3. Les outils
2.3.1. DSN
2.3.2. Chaîne de connexion
2.3.3. ODBC
2.3.4. DAO
2.3.5. MFC
3. LES PREMIERS PAS EN DAO
3.1. Créer la base de données
3.2. Se connecter à la base de données
3.3. Lire les enregistrements de la table T_Villes
3.4. Ajouter des enregistrements dans la table T_Villes
3.5. Modifier des enregistrements de la table T_Villes
3.6. Supprimer des enregistrements de la table T_Villes
4. PREMIERS PAS EN ODBC
4.1. Créer la base de données
4.2. Se connecter à la base de données
4.3. Lire les enregistrements de la table T_Villes
4.4. Mapper la table sur un recordset
4.4.1. Position du problème
4.4.2. Créer une classe rivée de CRecordset
4.4.3. Lire les enregistrements de la table T_Villes
4.4.4. Ajouter des enregistrements dans la table T_Villes
4.4.5. Modifier des enregistrements de la table T_Villes
4.4.6. Supprimer des enregistrements de la table T_Villes
4.5. Utiliser le mode SQL
4.5.1. Position du problème
4.5.2. Ajouter des enregistrements dans la table T_Villes
4.5.3. Modifier des enregistrements de la table T_Villes
4.5.4. Supprimer des enregistrements de la table T_Villes
5. POUR ALLER PLUS LOIN
6. CONCLUSION
Accès C++ aux bases de données Sommaire
H. Schyns S.2
7. ANNEXE
7.1. CDaoDatabase
7.2. CDaoRecordset
7.3. CDatabase
7.4. CRecordset
7.5. Utilisation d'un objet COleVariant
7.6. CDBVariant
7.7. Fonctions de mappage RFX
7.8. Principales instructions SQL
8. SOURCES
8.1. Ouvrages
8.2. Sites web
Accès C++ aux bases de données 1 - Introduction
H. Schyns 1.1
1. Introduction
Ce document présente les principes d'interfaçage d'une application C++ avec une
base de données quelconque.
Il répond à une demande des étudiants sur les modifications à apporter à un projet
C++ lorsque les données sont conservées dans une base de données de type
Access, MySQL ou SQLite et non plus dans les streams binaires utilisés dans la
version 5 du projet ABC v5 soumis à titre de projet d'examen en février 2012.
L'objectif de ce document est de présenter :
- les principes de base, le vocabulaire scifique et le différents modes d'accès
aux bases de données,
- les objets de la bibliothèque MFC (Microsoft Fundation Class Library)
- l'utilisation d'objets que nous n'avons pas créés afin de finir et d'accéder à une
base de données
- l'implémentation des fonctionnalités de base CRUD (1
) selon trois méthodes
différentes,
- le veloppement progressif d'un projet en commençant par des choses simples
que l'on teste avant de passer à des choses plus complexes.
Afin de limiter le nombre de problèmes à résoudre - il y en aura jà bien assez
comme ça - nous allons velopper la solution dans un environnement 100%
Microsoft :
- système d'exploitation Windows,
- plate-forme de veloppement Visual Studio,
- base de données MS Access
- bibliothèque MFC
Comme pour les résolutions précédentes, la solution proposée ici ne prétend pas
être la meilleure ni la plus astucieuse. Elle se veut simplement claire d'un point de
vue pédagogique, correcte dun point de vue conceptuel, et fonctionnelle.
Nous attirons cependant l'attention du lecteur sur le fait que ce document n'est ni un
cours sur la conception des bases de données, ni un cours de SQL, ni un exposé
sur l'art d'effectuer des transactions sécurisées dans un environnement
multiutilisateurs.
Il expose simplement les principes qui sont à la base du dialogue entre une
application rédigée dans un langage de programmation et une base de données
conçue dans un autre environnement.
Le lecteur est vivement encouragé à modifier les exemples de code et à tester les
différents comportements qui en résultent. Il est aussi encouragé à consulter les
nombreuses références présentées en annexe et dans la bibliographie.
1 Create-Read-Update-Delete
Accès C++ aux bases de données 2 - Principes de base et vocabulaire
H. Schyns 2.1
2. Principes de base et vocabulaire
2.1. Base de données
Dans les versions précédentes du projet, nous avons conservé les informations dans
un ensemble de fichiers binaires indépendants entre eux.
C'était à notre application qu'il incombait de vérifier la validité des données, leur
cohérence et leur intégrité référentielle.
Habituellement, ces tâches sont confiées à un système de gestion de base de
données (SGBD).
La base de données est la pièce centrale de toute application logicielle qui collecte
des données, les stocke, les traite et les restitue aux utilisateurs. D'un point de vue
conceptuel, la base de données n'est rien d'autre qu'un conteneur tout comme notre
ensemble de fichiers était un conteneur.
L'ensemble des fonctions membres de ce container constitue le système de gestion
de base de données (SGBD). Il permet non seulement d'accéder aux données qui y
sont stockées grâce à un langage standard nommé SQL, mais aussi de manipuler la
structure de la base de données. Le SGBD sert donc d'intermédiaire entre la base
de données et ses utilisateurs.
L'utilisation d'une base de données en lieu et place de fichiers permet :
- de partager des informations entre plusieurs utilisateurs simultanés
- de contrôler automatique de la cohérence et de la redondance des informations
- de limiter l'accès aux informations à certaines catégories d'utilisateurs
- de produire plus facilement des informations synttiques à partir des
renseignements bruts.
L'administrateur de bases de données est la personne chargée d'organiser le
contenu de la base de données d'une manière qui soit bénéfique à l'ensemble des
utilisateurs. Il en re les accès et en assure la sécurité (backups).
2.2. Associer application et base de données
Avant de plonger dans la réalisation pratique, voyons quelques principes de base
sur la manière de travailler avec une base de données.
Dans une architecture 3-tier ou MVC, l'application et le modèle de données sont
généralement "connectés". On entend par là le fait que l'application et la base de
données sont totalement séparées : une application Java utilise les données
fournies par un serveur ORACLE; un module C++ re des données stockées dans
un environnement MS Access, un module PHP traite les données conservées dans
un environnement MySQL, etc.
Dès lors, l'application, qui ne possède pas les données, doit aller les chercher avant
d'exécuter les traitements qui lui sont demandés par l'utilisateur.
1 / 53 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !