Section 3 Modèle de programmation ADO ( ActiveX Data Objects)
Comme décrit dans l'article « Présentation d'ADO dans Delphi », ADO est un ensemble de composants (DLL) COM (Component Object Model) qui vous permettent d'accéder à des bases de données telles que la messagerie électronique et les systèmes de fichiers. Les applications écrites à l'aide d'ADO ne nécessitent pas de BDE. Afin d'utiliser ADO pour accéder à diverses bases de données, vous avez besoin de la bibliothèque ADO/OLE DB (Object Linking and Embedding). Ce dont vous avez besoin pour utiliser ADO existe peut-être déjà sur votre ordinateur : ces fichiers sont distribués par Microsoft dans le cadre de Windows 98/2000. Si vous utilisez Windows 95 ou NT, vous devrez peut-être distribuer ou installer le moteur ADO. Le CD Delphi 5 contient les fichiers d'installation des composants MDAC-Microsoft Data Access. Vous devez vous assurer que vous utilisez la dernière version de MDAC, disponible sur le site officiel de Microsoft. MDAC est la technologie clé qui permet le fonctionnement de l'accès universel aux données. Ils incluent ActiveX Data Objects (ADO), OLE DB et Open Database Connectivity (ODBC).
Remarque : Afin de s'installer correctement sur un ordinateur Windows 95, MDAC nécessite l'installation de DCOM95 (Distributed Component Object Model). Pour un enregistrement correct, les composants installés par MDAC dépendent des DLL installées par DCOM95. Notez que DCOM95 n'est pas requis dans NT4.0. Dans certains cas, DCOM n'a pas besoin d'être installé sur les ordinateurs exécutant Windows. Mais s'il n'est pas installé, DCOM98 doit être installé avant d'installer MDAC.
Il n'est pas nécessaire de trop discuter d'OLE DB et d'ADO, passons à des questions plus pratiques.
Objets ADO
Le modèle de programmation ADO est construit autour de plusieurs objets ADO qui fournissent plusieurs méthodes pour accéder à divers objets de données. Ces objets fournissent la fonctionnalité permettant de se connecter aux sources de données, d'interroger et de mettre à jour les jeux d'enregistrements et de signaler les erreurs. Delphi accède à ces objets via des composants encapsulés via plusieurs composants VCL. Jetons un coup d'œil aux objets qui fonctionnent avec ADO :
Un objet Connection qui se connecte à une source de données via une chaîne de connexion. Dans BDE/Delphi, l'objet de connexion est une combinaison de composants de base de données et de composants de session.
L'objet Command (Command) nous permet d'exploiter la source de données. Il décrit une commande (également considérée comme une requête ou une instruction) qui peut gérer l'ajout, la suppression, l'interrogation ou la mise à jour des données de la base de données.
L'objet Recordset (jeu d'enregistrements) est le résultat de la commande query (Query). Vous pouvez considérer Recordset comme un composant de table Delphi (Table) ou de requête (Query). Chaque ligne renvoyée par Recordset contient plusieurs objets Field.
Plusieurs autres objets qui existent dans le modèle ADO sont : les objets Field, les objets Parameter et les objets Error — nous y reviendrons dans les chapitres suivants.
Section 4 Utiliser ADOExPRess pour vous connecter à la base de données
Avant de donner une brève explication de chaque composant de la collection ADOExpress, comprenons d'abord comment se connecter à une base de données Access. Bien sûr, nous nous connecterons bien sûr à notre exemple de base de données - AboutDelphi.mdb (Ajout du traducteur : la base de données créée dans le chapitre précédent).
Delphi(5) prend principalement en charge ADO via le composant ADOExpress sur la page ADO du panneau des composants. Plusieurs autres composants activant les bases de données seront utilisés dans ce cours. Pour l'instant, nous nous concentrerons sur l'ensemble minimal de composants requis pour accéder à une base de données Access avec ADO.
Exécutez Delphi et créez une nouvelle application avec un formulaire vide.
Pour accéder aux données de la base de données Access via ADO et Delphi, vous devez ajouter au moins trois composants prenant en charge les données à votre projet. Le premier est le DBGrid de la page du composant DataControls, utilisé pour parcourir les enregistrements obtenus à partir d'une table ou via une requête. La seconde est DataSource (page d'accès aux données DataAccess), qui est utilisée pour connecter l'ensemble de données et le composant DBGrid sur le formulaire, réalisant ainsi la réalisation, la navigation et l'édition de données potentielles de l'ensemble de données. Enfin, il existe ADOTable (page ADO), qui représente un tableau obtenu à partir de la base de données ADO. Faites-les tous glisser et déposez-les sur le formulaire (Formulaire), et les noms des composants prendront les valeurs par défaut. Le formulaire devrait maintenant ressembler à ceci :
Si vous exécutez le programme maintenant, aucune donnée ne sera affichée dans la grille - bien sûr, car nous ne sommes pas réellement connectés à la base de données. Notez un autre point : seule la Grille est visible, les deux autres composants sont des contrôles invisibles.
Lien entre les composants
Afin d'afficher les données de la base de données, nous devons connecter trois composants entre eux. Effectuez les paramètres suivants dans l'inspecteur d'objets :
DBGrid1.DataSource = DataSource1 ;
DataSource1.DataSet = ADOTable1 ;
Passons maintenant à la partie la plus difficile : afin d'obtenir les données de la base de données, nous devons créer une ConnectionString. Cette chaîne indique l'emplacement de stockage physique de la base de données et comment y accéder. Lorsque vous double-cliquez sur le bouton points de suspension de la propriété ConnectionString du composant AdoTable, vous obtenez la boîte de dialogue suivante :
=
Microsoft.Jet.OLEDB.4.0;Data Source=C:/!gajba/About/aboutdelphi.mdb;
Pour terminer la conception, nous devons définir le nom de la table afin qu'il soit accessible via le composant ADOTable, toujours à l'aide de l'inspecteur d'objets. ADOTable1.TableName = applications Si vous souhaitez voir les données de la base de données au moment de la conception, utilisez la propriété Active d'ADOTable : définissez-la sur True. Ha! Si vous avez suivi toutes les étapes ci-dessus, vous verrez maintenant que la table Applications ne comporte qu'un seul enregistrement (ligne). Lorsque vous exécutez l'application, vous pouvez même modifier les données de la base de données. Bien sûr, vous ne pouvez pas faire plus que cela – c’est l’exemple le plus simple d’ADO auquel je puisse penser. Cette section peut maintenant être conclue. Dans le chapitre suivant, nous discuterons de tous les composants ADO fournis par Delphi et de la manière dont ils communiquent avec les autres composants orientés données pour créer une application de base de données Delphi plus puissante. 22 décembre 2002 20:14