CBulkRowset (Clase)
Captura y manipula filas para trabajar en datos de forma masiva mediante la recuperación de varios identificadores de fila con una sola llamada.
Sintaxis
template <class TAccessor>
class CBulkRowset : public CRowset<TAccessor>
Parámetros
TAccessor
Clase de descriptor de acceso.
Requisitos
Encabezado: atldbcli.h
Miembros
Métodos
Nombre | Descripción |
---|---|
AddRefRows | Incrementa el recuento de referencias. |
CBulkRowset | Constructor. |
MoveFirst | Recupera la primera fila de datos, realizando una nueva captura masiva si es necesario. |
MoveLast | Se mueve a la última fila. |
MoveNext | Recupera la siguiente fila siguiente de datos. |
MovePrev | Se desplaza a la fila anterior. |
MoveToBookmark | Captura la fila marcada por un marcador o la fila en un desplazamiento especificado de ese marcador. |
MoveToRatio | Captura las filas a partir de una posición fraccionaria en el conjunto de filas. |
ReleaseRows | Establece la fila actual (m_nCurrentRow ) en cero y libera todas las filas. |
SetRows | Establece el número de identificadores de fila que se van a recuperar mediante una llamada. |
Ejemplo
El siguiente ejemplo de código demuestra el uso de la clase CBulkRowset
.
class CCustomerData
{
public:
char m_szField1[50];
BEGIN_COLUMN_MAP(CCustomerData)
COLUMN_ENTRY(1, m_szField1)
END_COLUMN_MAP()
};
void DoCBulkRowsetTest()
{
CoInitialize(NULL);
CCommand<CAccessor<CCustomerData>, CBulkRowset > cmd;
CDataSource ds;
// Open up data link dialogs to create a data source
ds.Open();
CSession session;
session.Open(ds);
// Could call SetRows() here if you want to fetch
// more than 10 HROWs at a time.
cmd.Open(session, L"Select * from customer");
cmd.MoveFirst();
// Note that the CBulkRowset by default fetched 10 HROWs at a time
// so that the MoveNext call will not have to make the GetNextRows
// call to get the second HROW because it has already been fetched
//by the MoveFirst() call above.
cmd.MoveNext();
cmd.Close();
session.Close();
ds.Close();
}
CBulkRowset::AddRefRows
Llama a IRowset::AddRefRows para incrementar el recuento de referencias de todas las filas recuperadas actualmente del conjunto de filas masivo.
Sintaxis
HRESULT AddRefRows() throw();
Valor devuelto
Un HRESULT estándar.
CBulkRowset::CBulkRowset
Crea un nuevo objeto CBulkRowset
y establece el recuento de filas predeterminado en 10.
Sintaxis
CBulkRowset();
CBulkRowset::MoveFirst
Recupera la primera fila de datos.
Sintaxis
HRESULT MoveFirst() throw();
Valor devuelto
Un HRESULT estándar.
CBulkRowset::MoveLast
Se mueve a la última fila.
Sintaxis
HRESULT MoveLast() throw();
Valor devuelto
Un HRESULT estándar.
CBulkRowset::MoveNext
Recupera la siguiente fila siguiente de datos.
Sintaxis
HRESULT MoveNext() throw();
Valor devuelto
Un HRESULT estándar. Cuando se alcanza el final del conjunto de filas, devuelve DB_S_ENDOFROWSET.
CBulkRowset::MovePrev
Se desplaza a la fila anterior.
Sintaxis
HRESULT MovePrev() throw();
Valor devuelto
Un HRESULT estándar.
CBulkRowset::MoveToBookmark
Captura la fila marcada por un marcador o la fila en un desplazamiento especificado (lSkip) de ese marcador.
Sintaxis
HRESULT MoveToBookmark(const CBookmarkBase& bookmark,
DBCOUNTITEM lSkip = 0) throw();
Parámetros
bookmark
[in] Marcador que marca la ubicación desde la que desea capturar los datos.
lSkip
[in] Número de filas del marcador a la fila de destino. Si lSkip es cero, la primera fila capturada es la fila del marcador. Si lSkip es 1, la primera fila capturada es la fila antes del marcador de filas. Si lSkip es -1, la primera fila capturada es la fila después del marcador de filas.
Valor devuelto
Vea IRowset::SetData en la Referencia del programador de OLE DB.
CBulkRowset::MoveToRatio
Captura las filas a partir de una posición fraccionaria en el conjunto de filas.
Sintaxis
HRESULT MoveToRatio(DBCOUNTITEM nNumerator,
DBCOUNTITEM nDenominator)throw();
Parámetros
nNumerator
[in] El numerador usado para determinar la posición fraccional de la que se van a capturar los datos.
nDenominator
[in] Denominador utilizado para determinar la posición fraccional de la que se van a capturar datos.
Valor devuelto
Un HRESULT estándar.
Comentarios
MoveToRatio
captura las filas aproximadamente según la fórmula siguiente:
(nNumerator * RowsetSize ) / nDenominator
Donde RowsetSize
es el tamaño del conjunto de filas, medido en filas. La precisión de esta fórmula depende del proveedor específico. Para obtener más información, vea IRowsetScroll::GetRowsAtRatio en la Referencia del programador de OLE DB.
CBulkRowset::ReleaseRows
Llama a IRowset::ReleaseRows para reducir el recuento de referencias de todas las filas recuperadas actualmente del conjunto de filas masivo.
Sintaxis
HRESULT ReleaseRows() throw();
Valor devuelto
Un HRESULT estándar.
CBulkRowset::SetRows
Establece el número de identificadores de fila recuperados por cada llamada.
Sintaxis
void SetRows(DBROWCOUNT nRows) throw();
Parámetros
nRows
[in] Nuevo tamaño del conjunto de filas (número de filas).
Comentarios
Si llama a esta función, debe estar antes de que se abra el conjunto de filas.
Consulte también
Plantillas de consumidor OLE DB
Referencia de plantillas de consumidor OLE DB