CRecordset::Move

Virtual void Spostare ( lungo nRows, WORD wFetchType = SQL_FETCH_RELATIVE);
gettare ( CDBException, CMemoryException );

Parametri

nRows

Il numero di righe per muoversi in avanti o all'indietro. I valori positivi andare avanti, verso la fine del recordset. I valori negativi spostarsi all'indietro, verso l'inizio.

wFetchType

Determina il set di righe spostare preleverà. Per ulteriori informazioni, vedere la sezione Osservazioni.

Osservazioni

Chiamare questa funzione membro per spostare il puntatore del record corrente all'interno del recordset, sia in avanti o all'indietro. Se si passa un valore 0 per nRows, spostare aggiorna il record corrente; Spostare finirà qualsiasi modalità corrente AddNew o modificare e ripristinerà il valore del record corrente prima AddNew o Modifica è stato chiamato.

&Notanbsp;  Quando si spostano attraverso un recordset, record eliminati non possono essere ignorati. Vedere la funzione membro IsDeleted per i dettagli.

Spostare riposiziona il recordset dal set di righe. In base ai valori per nRows e wFetchType, spostare recupera il set di righe appropriato e poi fa il primo record in tale set di righe del record corrente. Se non hanno attuato recupero di massa di riga, quindi la dimensione del set di righe è sempre 1. Durante il recupero di un set di righe, spostare direttamente chiama la funzione membro CheckRowsetError per gestire eventuali errori risultanti dal recupero.

Dipende dai valori che si passa, spostare equivale ad altre funzioni membro CRecordset . In particolare, il valore di wFetchType può indicare una funzione membro che è più intuitiva e spesso il metodo preferito per il record corrente in movimento.

La tabella seguente elenca i valori possibili per wFetchType, il set di righe spostare preleverà basato su wFetchType e nRowse qualsiasi funzione equivalente membro corrispondente a wFetchType.

wFetchType Set di righe recuperate Funzione membro equivalente
SQL_FETCH_RELATIVE (valore predefinito) Il set di righe a partire nRows righe dalla prima riga del set di righe corrente.
SQL_FETCH_NEXT Il set di righe successivo; nRows viene ignorato. MoveNext
SQL_FETCH_PRIOR Il set di righe precedenti; nRows viene ignorato. MovePrev
SQL_FETCH_FIRST Il primo set di righe nel recordset; nRows viene ignorato. MoveFirst
SQL_FETCH_LAST Ultimo completo set di righe nel recordset; nRows viene ignorato. MoveLast
SQL_FETCH_ABSOLUTE Se nRows gt; 0, il set di righe a partire nRows righe dall'inizio del recordset. Se nRows < 0, il set di righe a partire nRows row(s) dalla fine del recordset. Se nRows = 0, allora viene restituita una condizione di inizio del file (BOF). SetAbsolutePosition
SQL_FETCH_BOOKMARK Il set di righe a partire della riga in cui valore segnalibro corrisponde a nRows. SetBookmark

&Notanbsp;  Per i recordset solo foward, spostare è valida solo con un valore di SQL_FETCH_NEXT per wFetchType.

Cautela Spostare la chiamata genera un'eccezione se il recordset non ha alcun record. Per determinare se l'oggetto recordset ha tutti i record, chiamare IsBOF e IsEOF.

Se hanno scorrere passato l'inizio o la fine del recordset (IsBOF o IsEOF restituisce diverso da zero), chiamata a una funzione Sposta possibilmente genererà un CDBException. Ad esempio, se IsEOF restituisce diverso da zero e non lo fa IsBOF , quindi MoveNext genererà un'eccezione, ma non sarà MovePrev.

Se si chiama muoversi mentre il record corrente viene aggiornato o aggiunto, gli aggiornamenti vengono persi senza preavviso.

Per ulteriori informazioni sulla navigazione recordset, vedere gli articoli Recordset: Scrolling (ODBC) e Recordset: i segnalibri e le posizioni assolute (ODBC) nel manuale del programmatore di Visual C++. Per ulteriori informazioni sul recupero di massa di righe, vedere l'articolo Recordset: recupero Records in Bulk (ODBC) nel manuale del programmatore di Visual C++. Per informazioni correlate, vedere la funzione API ODBC SQLExtendedFetch in ODBC SDK Programmer di riferimento.

Esempio

/ / rs è un CRecordset o un / / derivata da CRecordset oggetto

/ / Cambia la dimensione del set di righe a 5
RS.SetRowsetSize (5);

/ / Spostare il primo record
/ / nel recordset
RS.MoveFirst ();

/ / Spostare al record del sesto
RS.Sposta (5);
/ / Altri modi equivalenti per
/ / spostare al sesto record:
/ / rs.Sposta (6, SQL_FETCH_ABSOLUTE);
/ / rs.SetAbsolutePosition (6);
/ / In questo caso, è il sesto record
/ / il primo record del set di righe successivo,
/ / così le seguenti sono equivalenti:
/ / rs.Mossa (1, SQL_FETCH_NEXT);
/ / rs.MoveNext)

Pa&noramica CRecordset |nbsp; Membri della classe | Gerarchia Chart

Vedere anchenbsp;CRecordset::Move&Next, CRecordset::MovePrev, CRecordset::MoveFirst, CRecordset::MoveLast, CRecordset:: SetAbsolutePosition, CRecordset::SetBookmark, CRecordset::IsBOF, CRecordset::IsEOF, CRecordset::CheckRowsetError

Index