CDaoRecordset::FillCache

Appelez la fonction membre pour mettre en cache un nombre spécifié d'enregistrements du recordset.

void FillCache( 
   long* pSize = NULL, 
   COleVariant* pBookmark = NULL  
);

Paramètres

  • pSize
    Spécifie le nombre de lignes pour remplir le cache. Si vous omettez ce paramètre, la valeur est déterminée par le paramètre de propriété de CacheSize de l'objet DAO sous-jacent.

  • pBookmark
    COleVariant spécifiant un signet. Le cache est rempli à partir de l'enregistrement indiqué par ce signet. Si vous omettez ce paramètre, le cache est rempli à partir de l'enregistrement indiqué par la propriété de CacheStart de l'objet DAO sous-jacent.

Notes

La mise en cache améliore les performances d'une application qui extrait, ou les efforts, données d'un serveur distant. Un cache est l'espace dans la mémoire locale qui juge les données récemment extraites du serveur sur l'hypothèse que les données seront demandées probablement à nouveau l'exécution de l'application. Lorsque les données sont demandées, le moteur de base de données Microsoft Jet examine le cache pour les données d'abord plutôt que l'extraction du serveur, qui prend le plus de temps. Utilisation de la mise en cache de données sur les sources de données non ODBC n'a aucun effet car les données ne sont pas enregistrées dans le cache.

Au lieu d'attente du cache à remplir avec des enregistrements à mesure qu'elles sont récupérées, vous pouvez explicitement remplir cache à tout moment en appelant la fonction membre d' FillCache . Il s'agit d'une méthode plus rapide pour remplir cache car FillCache extrait plusieurs enregistrements immédiatement au lieu d'un par un. Par exemple, alors que chaque écran complet des enregistrements est affiché, vous pouvez disposer votre appel FillCache d'application pour récupérer l'écran complet des enregistrements.

Toute base de données ODBC accès à des objets recordset peut avoir un cache local. Pour créer le cache, ouvrez un objet recordset de la source de données distante, puis appelez les fonctions membres d' SetCacheSize et d' SetCacheStart du recordset. Si lSize et le lBookmark créent une plage qui est partiellement ou complètement en dehors de la plage spécifiée par SetCacheSize et SetCacheStart, la partie du recordset en dehors de cette plage est ignorée et n'est pas chargée dans le cache. Si FillCache application plus d'enregistrements que restent dans la source de données distante, uniquement les enregistrements restants sont récupérés, et aucune exception n'est levée.

Les enregistrements extraits du cache ne reflète pas les modifications apportées simultané aux données sources par d'autres utilisateurs.

FillCache récupère uniquement les enregistrements pas déjà mis en cache. Pour forcer la mise à jour de toutes les données en mémoire cache, appelez la fonction membre d' SetCacheSize avec un paramètre d' lSize égal à 0, appelez SetCacheSize de nouveau avec le paramètre d' lSize égale à la taille du cache que vous avez initialement demandée, et appelez ensuite FillCache.

Pour des informations connexes, consultez la rubrique « méthode de FillCache » dans l'aide de DAO.

Configuration requise

Header: afxdao.h

Voir aussi

Référence

CDaoRecordset, classe

Graphique de la hiérarchie

CDaoRecordset::GetCacheSize

CDaoRecordset::GetCacheStart

CDaoRecordset::SetCacheSize

CDaoRecordset::SetCacheStart