Partager via


CRecordset::SetBookmark

Positionne le recordset dans l'enregistrement contenant le signet spécifié.

void SetBookmark( 
   const CDBVariant& varBookmark  
);

Paramètres

  • varBookmark
    Une référence à un objet de CDBVariant contenant la valeur du signet pour un enregistrement spécifique.

Notes

Pour déterminer si les signets sont pris en charge dans le recordset, appelez CanBookmark.Pour rendre les signets disponibles s'ils sont pris en charge, vous devez définir l'option de CRecordset::useBookmarks dans le paramètre d' dwOptions de la fonction membre d' Ouvrez .

[!REMARQUE]

Si les signets sont non pris en charge ou non disponibles, appeler SetBookmark entraîne une exception est levée.Les signets ne sont pas pris en charge sur les recordsets en avant seulement.

À tout d'abord extraire le signet de l'enregistrement actuel, l'appel GetBookmark, qui enregistre la valeur du signet à un objet d' CDBVariant .Ultérieurement, vous pouvez revenir à cet enregistrement en appelant SetBookmark à la valeur du signet enregistrée.

[!REMARQUE]

Après certaines opérations de recordset, vous devez vérifier la persistance de signet avant d'appeler SetBookmark.Par exemple, si vous récupérez un signet avec GetBookmark puis appelez Requery, le signet peut plus être valide.Appelez CDatabase::GetBookmarkPersistence pour vérifier si vous pouvez appeler sans risque SetBookmark.

Pour plus d'informations sur les signets et la navigation au sein d'un recordset, consultez les articles recordset : Signets et positions absolues (ODBC) et recordset : Défilement (ODBC).

Exceptions

Cette méthode peut lever des exceptions de type CDBException* et CMemoryException*.

Configuration requise

Header: afxdb.h

Voir aussi

Référence

Classe de CRecordset

Graphique de la hiérarchie

CRecordset::CanBookmark

CRecordset::GetBookmark

CRecordset::SetAbsolutePosition

CDatabase::GetBookmarkPersistence