virtuel void Déplacer ( long nRows, mot wFetchType = SQL_FETCH_RELATIVE);
jeter ( CDBException, CMemoryException );
Paramètres
nRows
Le nombre de lignes à aller de l'avant ou l'arrière. Des valeurs positives aller de l'avant, vers la fin de l'objet recordset. Les valeurs négatives se déplacement vers l'arrière, vers le début.
wFetchType
Détermine le jeu de lignes qui va extraire les déplacer . Pour plus d'informations, voir remarques.
Remarques
Appelez cette fonction membre pour déplacer le pointeur d'enregistrement actif dans le jeu d'enregistrements, soit vers l'avant ou vers l'arrière. Si vous passez une valeur de 0 pour nRows, déplacer actualise l'enregistrement en cours ; Déplacer prendra fin à n'importe quel mode actuel de AddNew ou Edit et rétablira la valeur de l'enregistrement en cours avant de AddNew ou Edit a été appelé.
&Notenbsp ; Lors du déplacement d'un jeu d'enregistrements, enregistrements supprimés ne peuvent pas être ignorées. Consultez la fonction membre IsDeleted pour plus de détails.
Déplacer repositionne le jeu d'enregistrements par les jeux de lignes. Basé sur les valeurs de nRows et wFetchType, déplacer récupère le jeu de lignes appropriée et fait ensuite le premier enregistrement dans ce jeu de lignes l'enregistrement en cours. Si vous n'avez pas implémenté extraction de lignes en bloc, la taille de l'ensemble de lignes est toujours 1. Lors de l'extraction à un ensemble de lignes, se déplacer directement appelle la fonction membre CheckRowsetError pour gérer les erreurs résultant de l'extraction.
Selon les valeurs que vous passez, Move est équivalent aux autres fonctions de membres de CRecordset . En particulier, la valeur de wFetchType peut indiquer une fonction membre qui est plus intuitive et, souvent, la méthode préférée pour passer à l'enregistrement en cours.
Le tableau suivant répertorie les valeurs possibles pour wFetchType, l'ensemble de lignes qui se déplacer vont chercher basé sur n'importe quelle fonction membre équivalent correspondant à wFetchType , wFetchType et nRows.
| wFetchType | Ensemble de lignes extraites | Fonction membre équivalent |
| SQL_FETCH_RELATIVE (la valeur par défaut) | L'ensemble de lignes à partir de nRows lignes de la première ligne dans l'ensemble de lignes actuel. | |
| SQL_FETCH_NEXT | Le jeu de lignes suivant ; nRows est ignoré. | MoveNext |
| SQL_FETCH_PRIOR | L'ensemble de lignes précédente ; nRows est ignoré. | MovePrev |
| SQL_FETCH_FIRST | Le premier jeu de lignes dans le jeu d'enregistrements ; nRows est ignoré. | MoveFirst |
| SQL_FETCH_LAST | Le dernier jeu de lignes complète dans le jeu d'enregistrements ; nRows est ignoré. | MoveLast |
| SQL_FETCH_ABSOLUTE | Si nRows gt ; 0, l'ensemble de lignes à partir de nRows lignes depuis le début de l'objet recordset. Si nRows < 0, l'ensemble de lignes à partir de nRows row(s) partir de la fin de l'objet recordset. Si nRows = 0, alors une condition de début de fichier (BOF) est retournée. | SetAbsolutePosition |
| SQL_FETCH_BOOKMARK | L'ensemble de lignes à partir de la ligne dont la valeur signet correspond à nRows. | SetBookmark |
&Notenbsp ; Pour nos clients seulement Jeux d'enregistrements, se déplacer est valide uniquement avec une valeur de SQL_FETCH_NEXT pour wFetchType.
Prude&ncenbsp ;Déplacer l'appel lève une exception si l'objet recordset n'a pas de documents. Pour déterminer si l'objet recordset a tous les enregistrements, appelez IsBOF et IsEOF.
Si vous avez le défilement passé le début ou la fin de l'objet recordset (IsBOF ou IsEOF retourne zéro), appeler une fonction déplacer éventuellement lèvera une exception CDBException. Par exemple, si IsEOF retourne zéro et IsBOF ne fonctionne pas, puis MoveNext lèvera une exception, mais MovePrev ne sera pas.
Si vous appelez déplacer tandis que l'enregistrement en cours est mis à jour ou ajoutés, les mises à jour sont perdus sans avertissement.
Pour plus d'informations sur la navigation du jeu d'enregistrements, voir les articles jeu d'enregistrements : défilement (ODBC) et jeu d'enregistrements : signets et Positions absolues (ODBC) dans le Guide du programmeur Visual C++. Pour plus d'informations sur l'extraction de lignes en bloc, consultez l'article jeu d'enregistrements : extraction de dossiers en vrac (ODBC) dans le Guide du programmeur Visual C++. Pour plus d'informations, reportez-vous à la fonction API ODBC SQLExtendedFetch dans la référence du programmeur ODBC SDK.
Exemple
/ / rs est un objet CRecordset ou un / / dérivée de CRecordset objet
/ / Changement de la taille de l'ensemble de lignes à 5
RS.SetRowsetSize (5) ;
/ / Déplacer vers le premier enregistrement
/ / dans le jeu d'enregistrements
RS.MoveFirst () ;
/ / Déplacer vers l'enregistrement de la sixième
RS.Se déplacer (5) ;
/ / Autres manières équivalentes à
/ / déplacer vers l'enregistrement de la sixième :
/ / rs.Se déplacer (6, SQL_FETCH_ABSOLUTE) ;
/ / rs.SetAbsolutePosition (6) ;
Et dans ce cas, le sixième dossier est
/ / le premier enregistrement dans le jeu de lignes suivant,
/ / donc suivantes sont équivalentes :
/ / rs.Déménagement (1, SQL_FETCH_NEXT) ;
/ / rs.MoveNext)
Aperçu de CRecordset |  ; Membres de la classe | Graphique de la hiérarchie
Voir aussinbsp ;CRecordset::Move&Next, CRecordset::MovePrev, CRecordset::MoveFirst, CRecordset::MoveLast, CRecordset::SetAbsolutePosition, CRecordset::SetBookmark, CRecordset::IsBOF, CRecordset::IsEOF, CRecordset::CheckRowsetError