Partager via


CRecordset::SetBookmark

 

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

Syntaxe

      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 .

Notes

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.

Notes

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

Exception

Condition

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

Configuration requise

Header: afxdb.h

Voir aussi

CRecordset Class
Graphique hiérarchique
CRecordset::CanBookmark
CRecordset::GetBookmark
CRecordset::SetAbsolutePosition
CDatabase::GetBookmarkPersistence