IRowsetImpl (Clase)
Proporciona una implementación de la interfaz IRowset
.
Sintaxis
template <
class T,
class RowsetInterface,
class RowClass = CSimpleRow,
class MapClass = CAtlMap <
RowClass::KeyType,
RowClass*>>
class ATL_NO_VTABLE IRowsetImpl : public RowsetInterface
Parámetros
T
La clase, que se deriva de IRowsetImpl
.
RowsetInterface
Una clase derivada de IRowsetImpl
.
RowClass
Unidad de almacenamiento para HROW
.
MapClass
Unidad de almacenamiento para todos los identificadores de fila que mantiene el proveedor.
Requisitos
Encabezado: atldb.h
Miembros
Métodos
Nombre | Descripción |
---|---|
AddRefRows | Agrega un recuento de referencias a un identificador de fila existente. |
CreateRow | Llamado por GetNextRows para asignar un nuevo HROW . El usuario no lo llama directamente. |
GetData | Recupera datos de la copia del conjunto de filas de la fila. |
GetDBStatus | Devuelve el estado del campo especificado. |
GetNextRows | Captura las filas secuencialmente y recuerda la posición anterior. |
IRowsetImpl | Constructor . El usuario no lo llama directamente. |
RefRows | Llamado por AddRefRows y ReleaseRows. El usuario no lo llama directamente. |
ReleaseRows | Libera filas. |
RestartPosition | Cambia la posición de captura siguiente a su posición inicial; es decir, su posición cuando se creó por primera vez el conjunto de filas. |
SetDBStatus | Establece las marcas de estado para el campo especificado. |
Miembros de datos
Nombre | Descripción |
---|---|
m_bCanFetchBack | Indica si un proveedor admite la captura hacia atrás. |
m_bCanScrollBack | Indica si un proveedor puede hacer que su cursor se desplace hacia atrás. |
m_bReset | Indica si un proveedor ha restablecido la posición del cursor. Esto tiene un significado especial cuando se desplaza hacia atrás o se recupera hacia atrás en GetNextRows. |
m_iRowset | Índice del conjunto de filas que representa el cursor. |
m_rgRowHandles | Lista de identificadores de fila. |
Comentarios
IRowset es la interfaz del conjunto de filas base.
IRowsetImpl::AddRefRows
Agrega un recuento de referencias a un identificador de fila existente.
Sintaxis
STDMETHOD(AddRefRows )(DBCOUNTITEM cRows,
const HROW rghRows[],
DBREFCOUNT rgRefCounts[],
DBROWSTATUS rgRowStatus[]);
Parámetros
Vea IRowset::AddRefRows en la Referencia del programador de OLE DB.
IRowsetImpl::CreateRow
Método auxiliar al que llama GetNextRows para asignar un nuevo HROW
.
Sintaxis
HRESULT CreateRow(DBROWOFFSET lRowsOffset,
DBCOUNTITEM& cRowsObtained,
HROW* rgRows);
Parámetros
lRowsOffset
Posición del cursor de la fila que se va a crear.
cRowsObtained
Una referencia que se devuelve al usuario indicando el número de filas creadas.
rgRows
Matriz de HROW
devuelta al autor de la llamada con los identificadores de fila recién creados.
Comentarios
Si la fila existe, este método llama a AddRefRows y vuelve. De lo contrario, asigna una nueva instancia de la variable de plantilla RowClass y la agrega a m_rgRowHandles.
IRowsetImpl::GetData
Recupera datos de la copia del conjunto de filas de la fila.
Sintaxis
STDMETHOD(GetData )(HROW hRow,
HACCESSOR hAccessor,
void* pDstData);
Parámetros
Vea IRowset::SetData en la Referencia del programador de OLE DB.
Algunos parámetros corresponden a los parámetros de la Referencia del programador de OLE DB de nombres diferentes, que se describen en IRowset::GetData
:
Parámetros de plantilla de OLE DB | Parámetros de la Referencia del programador de OLE DB |
---|---|
pDstData | pData |
Comentarios
También controla la conversión de datos mediante el archivo DLL de conversión de datos OLE DB.
IRowsetImpl::GetDBStatus
Devuelve las marcas de estado DBSTATUS para el campo especificado.
Sintaxis
virtual DBSTATUS GetDBStatus(RowClass* currentRow,
ATLCOLUMNINFO* columnNames);
Parámetros
currentRow
[in] La fila actual.
columnNames
[en] La columna para la que se solicita el estado.
Valor devuelto
Marcas DBSTATUS para la columna.
IRowsetImpl::GetNextRows
Captura las filas secuencialmente y recuerda la posición anterior.
Sintaxis
STDMETHOD(GetNextRows )(HCHAPTER hReserved,
DBROWOFFSET lRowsOffset,
DBROWCOUNT cRows,
DBCOUNTITEM* pcRowsObtained,
HROW** prghRows);
Parámetros
Vea IRowset::GetNextRows en la Referencia del programador de OLE DB.
IRowsetImpl::IRowsetImpl
Constructor .
Sintaxis
IRowsetImpl();
Comentarios
Normalmente, no será necesario llamar a este método directamente.
IRowsetImpl::RefRows
Se le llama por AddRefRows y ReleaseRows para incrementar o liberar un recuento de referencias en un identificador de fila existente.
Sintaxis
HRESULT RefRows(DBCOUNTITEM cRows,
const HROWrghRows[],
DBREFCOUNT rgRefCounts[],
DBROWSTATUS rgRowStatus[],
BOOL bAdd);
Parámetros
Vea IRowset::AddRefRows en la Referencia del programador de OLE DB.
Valor devuelto
Valor HRESULT estándar.
IRowsetImpl::ReleaseRows
Libera filas.
Sintaxis
STDMETHOD(ReleaseRows )(DBCOUNTITEM cRows,
const HROW rghRows[],
DBROWOPTIONS rgRowOptions[],
DBREFCOUNT rgRefCounts[],
DBROWSTATUS rgRowStatus[]);
Parámetros
Vea IRowset::ReleaseRows en la Referencia del programador de OLE DB.
IRowsetImpl::RestartPosition
Cambia la posición de captura siguiente a su posición inicial; es decir, su posición cuando se creó por primera vez el conjunto de filas.
Sintaxis
STDMETHOD(RestartPosition )(HCHAPTER /* hReserved */);
Parámetros
Vea IRowset::RestartPosition en la Referencia del programador de OLE DB.
Comentarios
La posición del conjunto de filas no está definida hasta que se llama a GetNextRow
. Puede desplazarse hacia atrás en un conjunto de filas llamando a RestartPosition
y, a continuación, capturando o desplazándose hacia atrás.
IRowsetImpl::SetDBStatus
Establece las marcas de estado DBSTATUS para el campo especificado.
Sintaxis
virtual HRESULT SetDBStatus(DBSTATUS* statusFlags,
RowClass* currentRow,
ATLCOLUMNINFO* columnInfo);
Parámetros
statusFlags
Marcas DBSTATUS que se van a establecer para la columna.
currentRow
La fila actual.
columnInfo
Columna para la que se establece el estado.
Valor devuelto
Valor HRESULT estándar.
Comentarios
El proveedor invalida esta función para proporcionar un procesamiento especial para DBSTATUS_S_ISNULL y DBSTATUS_S_DEFAULT.
IRowsetImpl::m_bCanFetchBack
Indica si un proveedor admite la captura hacia atrás.
Sintaxis
unsigned m_bCanFetchBack:1;
Comentarios
Vinculado a la propiedad DBPROP_CANFETCHBACKWARDS
del grupo DBPROPSET_ROWSET
. El proveedor debe admitir DBPROP_CANFETCHBACKWARDS
para que m_bCanFetchBackwards
sea true
.
IRowsetImpl::m_bCanScrollBack
Indica si un proveedor puede hacer que su cursor se desplace hacia atrás.
Sintaxis
unsigned m_bCanScrollBack:1;
Comentarios
Vinculado a la propiedad DBPROP_CANSCROLLBACKWARDS
del grupo DBPROPSET_ROWSET
. El proveedor debe admitir DBPROP_CANSCROLLBACKWARDS
para que m_bCanFetchBackwards
sea true
.
IRowsetImpl::m_bReset
Marca de bits usada para determinar si la posición del cursor se define en el conjunto de filas.
Sintaxis
unsigned m_bReset:1;
Comentarios
Si el consumidor llama a GetNextRows con un valor negativo de lOffset
o cRows y m_bReset
es true, GetNextRows
se mueve al final del conjunto de filas. Si m_bReset
es false, el consumidor recibe un código de error, conforme a la especificación OLE DB. La marca m_bReset
se establece en true
cuando se crea por primera vez el conjunto de filas y cuando el consumidor llama a IRowsetImpl::RestartPosition. Se establece en false
cuando se llama a GetNextRows
.
IRowsetImpl::m_iRowset
Índice del conjunto de filas que representa el cursor.
Sintaxis
DBROWOFFSET m_iRowset;
IRowsetImpl::m_rgRowHandles
Mapa de identificadores de fila contenidos actualmente por el proveedor en respuesta a GetNextRows
.
Sintaxis
MapClass m_rgRowHandles;
Comentarios
Los identificadores de fila se quitan mediante una llamada a ReleaseRows
. Consulte la información general de IRowsetImpl para obtener la definición de MapClass.
Consulte también
Plantillas de proveedores OLE DB
Arquitectura de plantillas de proveedores OLE DB
CSimpleRow (Clase)