Les types de données

Lors de la réalisation du programme, nous avons choisis d'utiliser des variables globales pour définir tous les éléments nécessaires à la gestion d'une base de données. Cela nous permet ainsi, de pouvoir comparer directement et rapidement les différences entre les déclarations.

Nous mentionnons ci-après, comment définir les objets tels que RecordSet ou DataBase, suivant le langage utilisé.

* Visual Basic :
Variables globales du programme en VB :
'la base de données
Dim db As DAO.Database
'DBEngine permet d'ouvrir et de créer une base de données
Dim DBEngine As New DAO.DBEngine
'un recordset
Dim rst As DAO.Recordset
'Table est utilisée lors de la création de la Table Eleve
Dim Table As DAO.TableDef
'déclaration des champs de la table Eleve
Dim IdEleve As DAO.Field
Dim NomE As DAO.Field
Dim PrenomE As DAO.Field
Dim Age As DAO.Field
Dim AnneeEtude As DAO.Field

En Visual Basic, dans la version .NET, nous sommes contraint de préciser l'appartenance des objets Database, RecordSet etc... Il faut donc définir tous les éléments de la base de données en mentionnant un DAO.LeTypeDeLObjet.

La collection DBEngine est très importante, car elle contient l'ensemble des classes utiles (Connections, Database, ...). Si l'on veut ouvrir ou créer une base de données, nous devons passer par le DBEngine.

* C++ :
Variables globales du programme en C++ :
//la base de données
CDaoDatabase * db ;
//un recordset
CDaoRecordset *rst;
//Table est utilisée lors de la création de la Table Eleve
CDaoTableDef * Table;
//déclaration des champs de la table Eleve
CDaoIndexInfo IdEleve;
CDaoIndexInfo NomE;
CDaoIndexInfo PrenomE;
CDaoIndexInfo Age;
CDaoIndexInfo AnneeEtude;

Comme nous l'avons vu précédemment, le C++ utilise la bibliothèque "afxdao" pour gérer la connexion à une base de données. Voilà pourquoi les différentes variables sont des classes, dont le nom commence par "CDao..." (Class Data Access Object).

Ces variables étant déclarées en globales (sauf les CDaoIndexInfo), nous ne pouvons pas déclarer directement des classes, mais seulement leur pointeur (ce qui est une caractéristique du C++ : pas d'allocation lors de la déclaration dans une classe). Par conséquent, une fonction d'allocation a été conçue (appelée "Initialisation"), et sera lancée une seule fois au lancement du programme.

De plus, il faut remarquer qu'aucun DBEngine n'est nécessaire, la connexion se fait directement au travers de la classe CDaoDatabase.

* C# :
Variables globales du programme en C# :
//Declaration d'un environnement Access
Access.Application oAccess;
//la base de données
DAO.Database db;
//DBEngine permet d'ouvrir et de créer une base de données
DAO._DBEngine DbEngin;
//un recordset
DAO.Recordset rst;
//Table est utilisée lors de la création de la Table Eleve
DAO.TableDef Table;
//déclaration des champs de la table Eleve
DAO.Field IdEleve;
DAO.Field NomE;
DAO.Field PrenomE;
DAO.Field Age;
DAO.Field AnneeEtude;

Les déclarations des variables en C# rappelent fortement les déclarations en VB. Nous devons ici aussi préciser le "DAO.", pour définir l'origine des classes.

La spécificité du C# réside dans le fait que nous devons aussi définir un environnement Access. Dans tous les autres langages, cette déclaration n'est pas à réaliser. Mais en C# elle est obligatoire, car c'est elle qui définira le DBEngine (utilisé pour ouvrir ou créer une base de données).
Remarque : une fonction d'initialisation d'Access est aussi nécessaire (à réaliser une seule fois):

oAccess=new Access.ApplicationClass();
DbEngin=oAccess.DBEngine;

* MySQL :
Variables globales du programme en MySQL :
//la base de données
global $db;
//le nom du serveur (ex:localhost)
global $Serveur;
//Nom de connexion
global $LogDB;
//Mot de passe de connexion
global $PassDB;
//Nom de la base de données
global $NomDB;

Pour le langages MySQL, les variables sont toutes de type identique. Il n'est donc pas nécessaire de définir un type spécialcomme pour les langages précédents.

* ASP :
Variables globales du programme en ASP :
'la connexion à une base de données
Dim Connexion
'un recordset
Dim MonRs

De même qu'en MySQL, l'ASP n'oblige en rien à définir le type des variables.

Après avoir défini les différentes variables globales utilisées dans nos langages, nous pouvons établir les différentes fonctions de base de la gestion d'une base de données :

julien michot 2006-08-05