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