A ctiveX D ata O bject avec D elphi Durée 14 heures
Sommaire Comparatif BDE ADO Comparatif BDE ADO Le Modèle d’objets ADO Le Modèle d’objets ADO Encapsulation Delphi Encapsulation Delphi Applications pratiques Applications pratiques
BDE (rappels) Permet de faire du RAD avec les SGBD Permet de faire du RAD avec les SGBD Exécution rapide avec les pilotes natifs Exécution rapide avec les pilotes natifs Permet de faire des requêtes hétérogènes (#SGBD) Permet de faire des requêtes hétérogènes (#SGBD) Sources disponibles Sources disponibles Nombreux composants dévéloppés Nombreux composants dévéloppés Lié à ODBC pour les SGBD non natifs Lié à ODBC pour les SGBD non natifs Nécessite un déploiement sur le client Nécessite un déploiement sur le client Pas de gestion des verrous et des curseurs Pas de gestion des verrous et des curseurs Peu adapté pour les applications multi utilisateurs Peu adapté pour les applications multi utilisateurs Deprecated depuis Delphi 7 Deprecated depuis Delphi 7 AvantagesInconvénients
Ado Accès Universel aux données (UDA) Accès Universel aux données (UDA) Adapté pour les applications n- tiers Adapté pour les applications n- tiers Mise à jour par le système d’exploitation Mise à jour par le système d’exploitation Gestion des curseurs et des verrous Gestion des curseurs et des verrous Choix possible du protocole de communication Choix possible du protocole de communication Rapide avec les pilotes OLEDB Rapide avec les pilotes OLEDB Multi langages Multi langages Proche de DbExpress, Jdbc et Ado.NET Proche de DbExpress, Jdbc et Ado.NET Support du mode déconnecté Support du mode déconnecté Mode asynchrone Mode asynchrone Connaissances approfondies du modèle pour une utilisation optimale Connaissances approfondies du modèle pour une utilisation optimale Pas d’actualisation de l’encapsulation des objets faite par Borland Pas d’actualisation de l’encapsulation des objets faite par Borland Pilote OLEDB développé par l’éditeur du SGBD, une société tierce (payant) ou pas du tout (rare) Pilote OLEDB développé par l’éditeur du SGBD, une société tierce (payant) ou pas du tout (rare) SGBD idéal fourni par Microsoft (Jet, SQL Server) SGBD idéal fourni par Microsoft (Jet, SQL Server) AvantagesInconvénients
Application Borland BDE ODBC Pilotes natifs SGBD BDE (Schéma applicatif)
Application Microsoft Ou Editeur Tiers OLE DB ODBC Pilotes OLEDB Source De données ADO (Schéma applicatif) ADO MSDACSQL
Sommaire Comparatif BDE ADO Le Modèle d’objets ADOLe Modèle d’objets ADO Encapsulation Delphi Encapsulation Delphi Applications pratiques Applications pratiques
Installation des composants ADO est fourni avec la couche MDAC. Installée automatiquement avec les différentes mises à jour des systèmes d’exploitation, elle est disponible à l’adresse Depuis la version 2.6 de MDAC, les composants pour MS Jet (ODBC et OLEDB) ne sont plus compris dans cette distribution et doivent être mis à jour séparément.
* Présent à partir de Mdac 2.5 mais non implémenté dans Delphi Représente le contenu d'un fichier ou d’un flux. StreamStream* Représente un répertoire ou un fichier. RecordRecord* Représente une des caractéristiques d'un objet ADO. Property Représente une erreur ADO accédée au travers de l’objet Connection. Error Représente une colonne d'un objet Recordset ou Record. Field Permet de voir et de manipuler les résultats d’une requête. Recordset Représente un paramètre d'une instruction SQL. Parameter Permet de réaliser des commandes, telles que requêtes SQL. Command Permet d’établir les connexions entre le client et la source de données. Connection DescriptionObjet Modèle d’objets ADO
OLE DB Provider pour Internet Publishing OLE DB Provider pour Oracle OLE DB Provider pour SQL Server OLE DB Provider pour Microsoft Jet (Access) OLE DB Provider pour Microsoft Jet (Access) * OLE DB Provider pour le service Microsoft Active Directory OLE DB Provider pour le service d'indexation Microsoft OLE DB Provider pour ODBC Providers livrés avec Mdac * Les pilotes Jet (OLEDB et ODBC) ne sont plus diffusés par la couche MDAC mais à l’aide d’un Service Pack pour Jet. Fournisseurs OLEDB
Curseurs (CURent Set Of Rows) Les possibilités de l’ensemble de données dépendent du curseur obtenu auprès du fournisseur. Les possibilités de l’ensemble de données dépendent du curseur obtenu auprès du fournisseur. CursorLocation: Emplacement du curseur (client ou serveur). Côté serveur par défaut pour Ado et côté client pour Delphi. CursorLocation: Emplacement du curseur (client ou serveur). Côté serveur par défaut pour Ado et côté client pour Delphi. CursorType: Possibilités de navigation et de rafraîchissement du recordset. CursorType: Possibilités de navigation et de rafraîchissement du recordset. LockType: Verrouillage des données extraites. LockType: Verrouillage des données extraites.
CursorLocation (emplacement) ConstanteValeurDescription clUseClient3Utilise des curseurs côté client fournis par une bibliothèque locale de curseurs. Les services de curseurs locaux permettent souvent bon nombre de fonctions interdites par les curseurs externes. clUseServer2Valeur par défaut. Utilise les curseurs fournis par les fournisseurs de données ou par les pilotes. Ces curseurs sont parfois très souples d'emploi et plus sensibles aux modifications apportées par d'autres utilisateurs à la source de données. Indique l'emplacement du service de curseurs.
CursorType (type curseur) ConstanteValeurDescription ctForwardOnly 0 Valeur par défaut. Utilise un curseur à défilement en avant. Identique à un curseur statique mais ne permettant que de faire défiler les enregistrements vers l'avant. Ceci accroît les performances lorsque vous ne devez effectuer qu'un seul passage dans un Recordset. Indique le type de curseur utilisé avec un objet Recordset.
Curseur en avant seulement
CursorType (type curseur) ConstanteValeurDescription ctForwardOnly 0 Valeur par défaut. Utilise un curseur à défilement en avant. Identique à un curseur statique mais ne permettant que de faire défiler les enregistrements vers l'avant. Ceci accroît les performances lorsque vous ne devez effectuer qu'un seul passage dans un Recordset. ctStatic 3 Utilise un curseur statique. Copie statique d'un jeu d'enregistrements qui permet de trouver des données ou de générer des états. Les ajouts, modifications ou suppressions effectués par d'autres utilisateurs ne sont pas visibles. Indique le type de curseur utilisé avec un objet Recordset.
Curseur Statique
CursorType (type curseur) ConstanteValeurDescription ctForwardOnly 0 Valeur par défaut. Utilise un curseur à défilement en avant. Identique à un curseur statique mais ne permettant que de faire défiler les enregistrements vers l'avant. Ceci accroît les performances lorsque vous ne devez effectuer qu'un seul passage dans un Recordset. ctStatic 3 Utilise un curseur statique. Copie statique d'un jeu d'enregistrements qui permet de trouver des données ou de générer des états. Les ajouts, modifications ou suppressions effectués par d'autres utilisateurs ne sont pas visibles. ctKeyset 1 Utilise un curseur à jeu de clés. Identique à un curseur dynamique mais ne permettant pas de voir les enregistrements ajoutés par d'autres utilisateurs (les enregistrements supprimés par d'autres utilisateurs ne sont pas accessibles à partir de votre Recordset). Les modifications de données effectuées par d'autres utilisateurs demeurent visibles. Indique le type de curseur utilisé avec un objet Recordset.
Curseur basé sur un jeu de clés
ConstanteValeurDescription ctDynamic 2 Utilise un curseur dynamique. Les ajouts, modifications et suppressions effectués par d'autres utilisateurs sont visibles et tous les déplacements sont possibles dans le Recordset à l'exception des signets, s'ils ne sont pas pris en charge par le fournisseur. CursorType (type curseur) suite
Curseur dynamique
LockType (type verrouillage) ConstanteValeurDescription ltReadOnly1Valeur par défaut. Enregistrements en lecture seule. Vous ne pouvez pas modifier les données. ltPessimistic2Verrouillage pessimiste, un enregistrement à la fois. Le fournisseur assure une modification correcte des enregistrements, et les verrouille généralement dans la source de données dès l'édition. ltOptimistic3Verrouillage optimiste, un enregistrement à la fois. Le fournisseur utilise le verrouillage optimiste et ne verrouille les enregistrements qu'à l'appel de la méthode Update. ltBatchOptimistic4Mise à jour par lot optimiste. Obligatoire en mode de mise à jour par lots. ltUnspecifiedAucun type de verrou n'est spécifié. Le clone adopte le type de verrouillage de l'original Indique le type de verrou apposé sur les enregistrements en cours d'édition.
Curseurs possibles CursorLocationCursorTypeRecordcountLockType clUseServer ctDynamic ctForwardOnly ctKeyset ctStatic Nombre ltReadOnly ltPessimistic ltOptimistic ltBatchOptimistic clUseClientctStaticNombre ltReadOnly ltBatchOptimistic ltOptimistic ltBatchOptimistic Provider OLEDB pour SQL Server.
Sommaire Comparatif BDE ADO Le Modèle d’objets ADO Encapsulation Delphi Encapsulation Delphi Applications pratiques Applications pratiques
CursorLocation CursorLocation ConnectOptions ConnectOptions CursorLocation CursorLocation CursorType CursorType LockType LockType TAdoCommand Encapsulation Delphi
Sommaire Comparatif BDE ADO Le Modèle d’objets ADO Encapsulation Delphi Applications pratiques Applications pratiques