Access - ado

  • View
    600

  • Download
    6

Embed Size (px)

Transcript

Comprendre les Recordset ADOpar Jean-Marc Rabilloud (La page Jean-Marc RABILLOUD) (Blog)

Date de publication : 15/07/2003 Dernire mise jour : 14/01/2008

cours complet sur le recordset : ses proprits, mthodes et vnements, les diffrents types de curseurs, les informations de schma, les traitements par lot. Nombreux exemples d'utilisation.

Comprendre les Recordset ADO par Jean-Marc Rabilloud (La page Jean-Marc RABILLOUD) (Blog)

I - Introduction II - Prambule III - Gnralits III-A - Dfinition III-A-1 - Consommateur & fournisseur de donnes III-A-2 - Fournisseur & composant de service III-A-3 - Jeu d'enregistrement (Recordset) IV - Les Curseurs IV-A - Positionnement (CursorLocation) IV-A-1 - Curseur ct serveur (adUseServer) IV-A-2 - Curseur ct client (adUseClient) IV-B - Fonctionnalits (bibliothque de curseur) IV-B-1 - Verrouillage (LockType) Quel verrou choisir ? Le verrouillage pessimiste (adLockPessimistic Le verrouillage optimiste (adLockOptimistic) D'autres modes de verrouillage IV-B-2 - Type de curseur (CursorType) En avant seulement (adOpenForwardOnly) Statique (adOpenStatic) Jeu de cl (adOpenKeyset) Dynamique (adOpenDynamic) IV-C - Hritage IV-D - Discussion autour des curseurs IV-D-1 - Mta-donnes IV-D-2 - Donnes (Fields) V - Les informations de schma V-A - Taille du cache V-B - Marshaling V-C - Mcanismes de base Cration du jeu d'enregistrement Action sur le recordset Echec ou russite Synchronisation V-D - Modification d'un Recordset client Modification (Update) Suppression (DELETE) Ajout (INSERT INTO) Requte avec jointure V-E - FireHose, un curseur particulier V-F - Conseils pour choisir son curseur V-G - Synchrone Vs Asynchrone V-H - Opration globale (par lot) V-H-1 - Les transactions V-H-2 - Les procdures stockes V-H-3 - Gre par le code V-I - Le pige "l'exemple Jet" V-J - Recordset Vs SQL V-K - Optimisation du code V-K-1 - L'optimisation dans l'accs aux donnes Utiliser des requtes compiles Utiliser les procdures stockes Etre restrictif dans les enregistrements / champs renvoys V-K-2 - Optimisation dans l'utilisation d'ADO

-2Copyright 2003 - bidou. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de domages et intrts.http://vb.developpez.com/bidou/recordset-ado/

Comprendre les Recordset ADO par Jean-Marc Rabilloud (La page Jean-Marc RABILLOUD) (Blog)

Utiliser des objets explicites Fermer les connexions Utiliser une ou deux connexions / commandes Spcifier adExecuteNoRecords Spcifier la proprit CommandType VI - L'objet Recordset VI-A - Proprits VI-A-1 - AbsolutePosition VI-A-2 - Bookmark VI-A-3 - CacheSize VI-A-4 - EditMode VI-A-5 - Filter VI-A-6 - Index VI-A-7 - MarshalOptions VI-A-8 - MaxRecords VI-A-9 - RecordCount VI-A-10 - Sort VI-A-11 - Source VI-A-12 - State VI-A-13 - Status VI-B - Proprits dynamiques VI-B-1 - IrowsetIdentity VI-B-2 - Optimize VI-B-3 - Resync Command VI-B-4 - Unique Table, Unique Catalog & Unique Schema VI-B-5 - Update Criteria VI-B-6 - Update Resync VI-C - Collection Fields VI-D - Mthodes VI-D-1 - AddNew VI-D-2 - CancelBatch VI-D-3 - CancelUpdate VI-D-4 - Clone VI-D-5 - Delete VI-D-6 - Find VI-D-7 - GetRows VI-D-8 - GetString VI-D-9 - MoveFirst, MoveLast, MoveNext, MovePrevious VI-D-10 - Open VI-D-11 - Requery VI-D-12 - Resync Voyons comment cela fonctionne VI-D-13 - Save VI-D-14 - Seek VI-D-15 - Supports VI-D-16 - Update VI-D-17 - UpdateBatch VI-E - Evnements VI-E-1 - AdStatusEnum VI-E-2 - EndOfRecordset VI-E-3 - FetchProgress & FetchComplete VI-E-4 - WillChangeField & FieldChangeComplete VI-E-5 - WillChangeRecord & RecordChangeComplete VI-E-6 - WillChangeRecordset & RecordsetChangeComplete

-3Copyright 2003 - bidou. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de domages et intrts.http://vb.developpez.com/bidou/recordset-ado/

Comprendre les Recordset ADO par Jean-Marc Rabilloud (La page Jean-Marc RABILLOUD) (Blog)

VI-E-7 - WillMove & MoveComplete VII - Rappels ADO VII-A - L'objet Connection VII-A-1 - La proprit CursorLocation VII-A-2 - La proprit IsolationLevel VII-A-3 - La proprit Mode VII-A-4 - Collection Errors VII-A-5 - Evnements de connexion VII-A-5-a - WillExecute & ExecuteComplete VII-B - L'objet Command VII-B-1 - Gnralits VII-B-2 - Proprits ActiveConnection CommandText CommandTimeout CommandType NamedParameters Prepared State VII-B-3 - Mthodes Cancel Execute CreateParameter VII-B-4 - Collection Parameters Gnralits Quelques mthodes de la collection VII-B-5 - Objet Parameter Proprits Mthode VII-B-6 - Exemple Requtes paramtres Requte action VIII - Exemple d'utilisation VIII-A - Ouvrir un recordset VIII-B - Nombre d'enregistrement, position et signet VIII-C - Comparaison SQL Vs Recordset VIII-D - Les recherches VIII-D-1 - Recherche avec Seek Recherche avec Find VIII-E - Rcuprer une cl auto-incrmente VIII-F - Contrles Visual Basic VIII-F-1 - Le contrle ADO (ADODC) Pige n1 : Pas de recordset Pige n2 : Le curseur Pige n3 : L'asynchronisme VIII-F-2 - Le contrle DataGrid Affichage des donnes Requte multi table Mise jour VIII-G - Programmation vnementielle Connection et command asynchrone Extractions bloquantes & non bloquantes Suivre l'extraction Gestion des modifications

-4Copyright 2003 - bidou. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de domages et intrts.http://vb.developpez.com/bidou/recordset-ado/

Comprendre les Recordset ADO par Jean-Marc Rabilloud (La page Jean-Marc RABILLOUD) (Blog)

VIII-H - Recordset persistant VIII-I - Synchronisation Synchronisation des donnes sous-jacentes Synchronisation des donnes VIII-J - Traitement par lot IX - Mise en forme des donnes IX-A - Recordset hirarchique IX-B - Agrgat X - Vers ADO.NET X-A - DataSet X-B - DataReader X-C - DataAdapter X-C-1 - Construire sa logique d'action X-C-2 - Utiliser le CommandBuilder XI - Conclusion XI-A - Remerciements

-5Copyright 2003 - bidou. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de domages et intrts.http://vb.developpez.com/bidou/recordset-ado/

Comprendre les Recordset ADO par Jean-Marc Rabilloud (La page Jean-Marc RABILLOUD) (Blog)

I - IntroductionDans cet article nous allons tudier spcifiquement l'objet Recordset ADO. Cette tude va pourtant nous entraner travers tout le modle d'objets ADO. En parcourant les forums Access et Visual basic de " developpez.com ", je me suis rendu compte que si cet objet est trs utilis, il l'est souvent assez mal ce qui engendre un grand nombre de disfonctionnements. Ceci est d'ailleurs comprhensible puisque cet objet demande une connaissance correcte des mcanismes mis en jeux par les SGBD et les fournisseurs, ainsi que quelques astuces de programmation. En effet, ADO dans sa vision "universelle" d'accs aux donnes offre de nombreuses techniques. Malheureusement chaque fournisseur supportera ou non ces techniques. Ceci demande un travail important au dveloppeur afin de bien connatre son fournisseur, sauf utiliser un code trs peu fonctionnel. Les exemples de cet article ont t crits pour la plupart avec Visual Basic 6 SP 5 et utilisent le moteur Jet 4.0. Pour rester cohrent, les exemples avec ADO.NET sont crits en VB.NET.

-6Copyright 2003 - bidou. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de domages et intrts.http://vb.developpez.com/bidou/recordset-ado/

Comprendre les Recordset ADO par Jean-Marc Rabilloud (La page Jean-Marc RABILLOUD) (Blog)

II - PrambuleLe dveloppement d'une application est souvent une suite de compromis entre performance, convivialit, ergonomie, etc... Par contre, lorsque l'on construit une application utilisant un SGBD, celle-ci ne doit jamais mettre en pril l'intgrit des donnes. Vous devez construire votre application en respectant cette rgle. La moindre prise de risques concernant une ventuelle perte d'intgrit est bannir. Vous trouverez srement dans la suite de cet article que les jeux d'enregistrements (recordset) peuvent manquer de fonctionnalits, mais trs souvent le fournisseur de donnes anticipe sur la rgle nonce prcdemment en vous interdisant les oprations " risques". Toutefois, il est toujours possible de faire des erreurs, je ne saurais donc trop vous conseiller de commencer toujours par vous faire la main sur une base de tests afin de bien connatre le fonctionnement du fournisseur et d'ADO. Certains aspects de la programmation ADO sont assez techniques, aussi les ai-je regroups sous le chapitre "Discussion autour des curseurs". N'hsitez pas lire les exemples en fin d'article afin de mieux comprendre les concepts voqus. Bonne lecture.

-7Copyright 2003 - bidou. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de domages et intrts.http://vb.developpez.com/bidou/recordset-ado/

Comprendre les Recordset ADO par Jean-Marc Rabilloud (La pag