Fonctionnalités recordset ADO

Fonctionnalités d'un recordset ADO en fonction du fournisseur de données (Jet ou SQL Serveur) et des options d'ouverture

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

ADO offre un grand nombre d'options lors de l'ouverture d'un recordset. Type de curseur, type de verrouillage, curseur côté serveur ou côté client.
En fonction du fournisseur de données, toutes ces options ne sont pas supportées.
Cela peut se traduire par une erreur d'exécution ou par un recordset dont les fonctionnalités ne correspondent pas à celles choisies lors de l'ouverture.
En effet, si le fournisseur de données ne supporte le type de curseur demandé il ouvrira un recordset avec un curseur d'un autre type. De ce fait les fonctionnalités du curseur obtenu ne sont pas forcément celles que l'on attendait.
J'ai donc réalisé un petit programme de test pour déterminer les options valides et les fonctionnalités du recordset ouvert.

II. Principe du test

Création d'une connexion ADO faisant référence au fournisseur de données.

Microsoft.Jet.OLEDB.4.0 pour Access

 
Sélectionnez
			
Dim oConn As ADODB.Connection, oRS As ADODB.Recordset

Set oConn = New ADODB.Connection
oConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=" & CurrentProject.FullName & ";"
oConn.Open
			

SQLOLEDB pour SQL Serveur

 
Sélectionnez
			
Dim oConn As ADODB.Connection, oRS As ADODB.Recordset

Set oConn = New ADODB.Connection
oConn.ConnectionString = "Provider=SQLOLEDB;DATA SOURCE=NomDuServeur;" & _
      "INITIAL CATALOG=NomBDD;" & _
      "INTEGRATED SECURITY=SSPI;"
oConn.Open
			

Ouverture d'un recordset ADO avec différents types de curseur, de verrouillage, d'option.

Curseur côté Serveur

 
Sélectionnez

Set oRS = New ADODB.Recordset
oRS.CursorLocation = adUseServer
			

Curseur côté Client

 
Sélectionnez

Set oRS = New ADODB.Recordset
oRS.CursorLocation = adUseClient
			

Ouverture

 
Sélectionnez

oRS.Open SCE, oConn, CursorType, LockType, Option
			

SCE peut être un nom de table, un nom de requête (de Vue pour SQL Serveur), une instruction SQL SELECT, une procédure stockée (SQL serveur).
Dans tous les cas, le jeu d'enregistrements peut être mis à jour (Ajout, Modification, Suppression).
La table possède une clé primaire. La requête (ou la Vue SQL Serveur) est une requête de sélection sur la table avec clé primaire.
La procédure stockée et l'instruction SQL ont le même code SQL que la requête.
CursorType pourra être une des constantes ADO adOpenForwardOnly, adOpenKeyset, adOpenDynamic, adOpenStatic
LockType pourra être une des constantes ADO adLockReadOnly, adLockPessimistic, adLockOptimistic, adLockBatchOptimistic
Option pourra être une des constantes ADO adCmdText, adCmdTable, adCmdTableDirect, adCmdStoredProc

Vérification des fonctionnalités du recordset si il a pu être ouvert

  1. A l'aide de la méthode Supports
  2. Lecture des propriétés RecordCount, AbsolutePosition
    Si la valeur est -1 cette fonctionnalité n'est pas supportée
  3. Lecture des propriétés CursorType, LockType
    Permet de vérifier si le recordset obtenu est conforme à celui qui a été demandé

Combinaisons non testées.

Certains type de curseur/verrouillage ne sont pas possibles.
- Le verrouillage adLockPessimistic n'existe pas pour un curseur côté client.
- Le verrouillage adLockBatchOptimistic n'existe pas côté serveur.

III. Résultats pour Access

Ouverture d'une table par son nom

SCE est un nom de table.

Côté Serveur

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenForwardOnly adLockReadOnly adCmdTable    Image non disponible                  
adOpenKeyset adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockReadOnly adCmdTableDirect    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockPessimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockPessimistic adCmdTableDirect  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenStatic adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  


Côté Client

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenStatic adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible

Ouverture d'une requête par son nom

SCE est un nom de requête.

Côté Serveur

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenForwardOnly adLockReadOnly adCmdTable    Image non disponible                  
adOpenForwardOnly adLockReadOnly adCmdTableDirect    Image non disponible                  
adOpenKeyset adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockPessimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockPessimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenStatic adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenStatic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  


Côté Client

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenStatic adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible

Ouverture d'une instruction SQL SELECT

SCE est une instruction SQL SELECT.

Côté Serveur

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenForwardOnly adLockReadOnly adCmdText    Image non disponible                  
adOpenForwardOnly adLockReadOnly adCmdTableDirect    Image non disponible                  
adOpenKeyset adLockReadOnly adCmdText    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockPessimistic adCmdText  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockPessimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockOptimistic adCmdText  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenKeyset adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenStatic adLockReadOnly adCmdText    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  
adOpenStatic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible      Image non disponible  


Côté Client

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenStatic adLockReadOnly adCmdText    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdText  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdText  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible

IV. Résultats pour SQL Serveur

Ouverture d'une table par son nom

SCE est un nom de table.

Côté Serveur

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenForwardOnly adLockReadOnly adCmdTable    Image non disponible                  
adOpenForwardOnly adLockReadOnly adCmdTableDirect    Image non disponible                  
adOpenForwardOnly adLockPessimistic adCmdTable  Image non disponible  Image non disponible                  
adOpenForwardOnly adLockPessimistic adCmdTableDirect  Image non disponible  Image non disponible                  
adOpenForwardOnly adLockOptimistic adCmdTable  Image non disponible  Image non disponible                  
adOpenForwardOnly adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible                  
adOpenKeyset adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockPessimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockPessimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenDynamic adLockReadOnly adCmdTable    Image non disponible    Image non disponible              
adOpenDynamic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible              
adOpenDynamic adLockPessimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible              
adOpenDynamic adLockPessimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible              
adOpenDynamic adLockOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible              
adOpenDynamic adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible              
adOpenStatic adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  
adOpenStatic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  


Côté Client

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenStatic adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible

Ouverture d'une Vue par son nom

SCE est un nom de Vue.

Côté Serveur

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenForwardOnly adLockReadOnly adCmdTable    Image non disponible                  
adOpenForwardOnly adLockReadOnly adCmdTableDirect    Image non disponible                  
adOpenForwardOnly adLockPessimistic adCmdTable  Image non disponible  Image non disponible                  
adOpenForwardOnly adLockPessimistic adCmdTableDirect  Image non disponible  Image non disponible                  
adOpenForwardOnly adLockOptimistic adCmdTable  Image non disponible  Image non disponible                  
adOpenForwardOnly adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible                  
adOpenKeyset adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockPessimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockPessimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenDynamic adLockReadOnly adCmdTable    Image non disponible    Image non disponible              
adOpenDynamic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible              
adOpenDynamic adLockPessimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible              
adOpenDynamic adLockPessimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible              
adOpenDynamic adLockOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible              
adOpenDynamic adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible              
adOpenStatic adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  
adOpenStatic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  


Côté Client

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenStatic adLockReadOnly adCmdTable    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockReadOnly adCmdTableDirect    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdTable  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdTableDirect  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible

Ouverture d'une procédure stockée par son nom

SCE est un nom de procédure stockée

Côté Serveur

CursorType LockType Option Update AddNew Delete Find Index Seek Move >Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenForwardOnly adLockReadOnly adCmdText    Image non disponible                  
adOpenForwardOnly adLockReadOnly adCmdStoredProc    Image non disponible                  


Côté Client

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenStatic adLockReadOnly adCmdText    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockReadOnly adCmdStoredProc    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdText  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdStoredProc  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdText  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdStoredProc  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible

Ouverture d'une instruction SQL SELECT

SCE est une instruction SQL SELECT

Côté Serveur

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenForwardOnly adLockReadOnly adCmdText    Image non disponible                  
adOpenForwardOnly adLockPessimistic adCmdText  Image non disponible  Image non disponible                  
adOpenForwardOnly adLockOptimistic adCmdText  Image non disponible  Image non disponible                  
adOpenKeyset adLockReadOnly adCmdText    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockPessimistic adCmdText  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenKeyset adLockOptimistic adCmdText  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenDynamic adLockReadOnly adCmdText    Image non disponible    Image non disponible              
adOpenDynamic adLockPessimistic adCmdText  Image non disponible  Image non disponible    Image non disponible              
adOpenDynamic adLockOptimistic adCmdText  Image non disponible  Image non disponible    Image non disponible              
adOpenStatic adLockReadOnly adCmdText    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  


Côté Client

CursorType LockType Option Update AddNew Delete Find Index Seek Move Previous RecCount AbsPos BookMark UpdateBatch Approx Position HoldRecords Resync
adOpenStatic adLockReadOnly adCmdText    Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockOptimistic adCmdText  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible
adOpenStatic adLockBatchOptimistic adCmdText  Image non disponible  Image non disponible    Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible  Image non disponible

V. Conclusion

On constate au travers des différents tableaux qu'il y a bien des différences entre les fournisseurs de données (Access et SQL Serveur) et que toutes les fonctionnalités du modèle ADO ne sont pas supportées.
Par exemple :
- un seul type de curseur côté client.
- pas de curseur dynamique côté serveur pour Access.

Pour de plus amples informations sur ADO je vous invite à lire ce document : Le Recordset ADOLe Recordset ADO par J-M Rabilloud de J-M Rabilloud.

Remerciements

Dolphy35 pour son aide et ses encouragements.
RideKick pour son aimable relecture.
Nono40 pour son excellent outil de création d'article et developpez.com pour leur hébergement.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2007 . Aucune reproduction, même 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'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.