Partager via


Utilisation de CacheSize

Utilisez la propriété CacheSize pour contrôler le nombre d’enregistrements à récupérer à la fois dans la mémoire locale du fournisseur. Par exemple, si le CacheSize est 10, après avoir ouvert l’objet Recordset, le fournisseur récupère les 10 premiers enregistrements en mémoire locale. Lorsque vous parcourez l’objet Recordset, le fournisseur retourne les données de la mémoire tampon locale. Dès que vous passez au-delà du dernier enregistrement dans le cache, le fournisseur récupère les 10 enregistrements suivants de la source de données dans le cache.

Remarque

CacheSize est basé sur la propriété Maximum Open Rows spécifique au fournisseur (dans la collection Properties de l’objet Recordset). Vous ne pouvez pas définir CacheSize sur une valeur supérieure à Nombre maximal de lignes ouvertes. Pour modifier le nombre de lignes qui peuvent être ouvertes par le fournisseur, définissez Nombre maximal de lignes ouvertes.

La valeur de CacheSize peut être ajustée pendant la durée de vie de l’objet Recordset, mais la modification de cette valeur affecte uniquement le nombre d’enregistrements dans le cache après les récupérations suivantes à partir de la source de données. La modification de la valeur de propriété seule ne modifie pas le contenu actuel du cache.

S’il existe moins d’enregistrements à récupérer que CacheSize spécifie, le fournisseur retourne les enregistrements restants et aucune erreur ne se produit.

Un CacheSize paramètre de zéro n’est pas autorisé et retourne une erreur.

Les enregistrements récupérés à partir du cache ne reflètent pas les modifications simultanées apportées par d’autres utilisateurs aux données sources. Pour forcer une mise à jour de toutes les données mises en cache, utilisez la méthode Resync.

Si CacheSize est défini sur une valeur supérieure à 1, les méthodes de navigation (Move, MoveFirst, MoveLast, MoveNext et MovePrevious) peuvent entraîner la navigation vers un enregistrement supprimé, si la suppression se produit après la récupération des enregistrements. Après la récupération initiale, les suppressions suivantes ne sont pas reflétées dans votre cache de données tant que vous n’avez pas tenté d’accéder à une valeur de données à partir d’une ligne supprimée. Toutefois, le paramètre CacheSize à 1 élimine ce problème, car les lignes supprimées ne peuvent pas être extraites.