Compartir a través de


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