Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Encapsula un objeto del conjunto de filas de OLE DB y varias interfaces relacionadas y proporciona métodos de manipulación para los datos del conjunto de filas.
Sintaxis
template <class TAccessor = CAccessorBase>
class CRowset
Parámetros
Controlador
Clase de descriptor de acceso. El valor predeterminado es CAccessorBase.
Requisitos
Encabezado: atldbcli.h
Miembros
Métodos
| Nombre | Descripción |
|---|---|
| AddRefRows | Incrementa el recuento de referencias asociado a la fila actual. |
| Cerrar | Libera filas y la interfaz IRowset actual. |
| Comparar | Compara dos marcadores mediante IRowsetLocate::Compare. |
| CRowset | Crea un nuevo objeto CRowset y (opcionalmente) lo asocia a una interfaz IRowset proporcionada como parámetro. |
| Eliminar | Elimina las filas del conjunto de filas mediante IRowsetChange::D eleteRows. |
| FindNextRow | Busca la siguiente fila coincidente después del marcador especificado. |
| GetApproximatePosition | Devuelve la posición aproximada de una fila correspondiente a un marcador. |
| GetData | Recupera datos de la copia del conjunto de filas de la fila. |
| GetDataHere | Recupera los datos de un búfer especificado. |
| GetOriginalData | Recupera los datos más recientemente capturados o transmitidos al origen de datos, ignorando los cambios pendientes. |
| GetRowStatus | Devuelve el estado de todas las filas. |
| Insertar | Crea e inserta una nueva fila mediante IRowsetChange::InsertRow. |
| IsSameRow | Compara la fila especificada con la fila actual. |
| MoverPrimero | Cambia la posición de la ubicación de la recuperación de cambios siguiente a la posición inicial. |
| MoveLast | Se mueve al último registro. |
| MoverSiguiente | Captura los datos de la siguiente fila secuencial o un número especificado de posiciones más allá de la fila siguiente. |
| 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 (Líneas de lanzamiento) | Llama a IRowset::ReleaseRows para liberar el manipulador de fila actual. |
| SetData | Establece valores de datos en una o varias columnas de una fila mediante IRowsetChange::SetData. |
| Deshacer | Deshace los cambios realizados en una fila desde la última captura o actualización. |
| Actualizar | Transfiere los cambios pendientes realizados en la fila actual desde la última recuperación de cambios o actualización. |
| ActualizarTodo | Transfiere los cambios pendientes realizados en todas las filas desde la última recuperación de cambios o actualización. |
Comentarios
En OLE DB, un conjunto de filas es el objeto a través del cual un programa establece y recupera datos.
Esta clase no está pensada para crear instancias, sino que se pasa como un parámetro de plantilla a CTable o CCommand (CRowset es el valor predeterminado).
CRowset::AddRefRows
Llama a IRowset::AddRefRows para incrementar (por uno) el recuento de referencias asociado al manipulador de fila actual.
Sintaxis
HRESULT AddRefRows() throw();
Valor devuelto
Un HRESULT estándar.
Comentarios
Este método incrementa el recuento de referencias del manipulador de fila actual. Llame a ReleaseRows para disminuir el recuento. Las filas devueltas por los métodos de movimiento tienen un recuento de referencias de uno.
CRowset::Cerrar
Libera las filas y la interfaz IRowset actual.
Sintaxis
void Close() throw();
Comentarios
Este método libera todas las filas que están actualmente en el conjunto de filas.
CRowset::Comparar
Compara dos marcadores mediante IRowsetLocate::Compare.
Sintaxis
HRESULT Compare(const CBookmarkBase& bookmark1,
const CBookmarkBase& bookmark2,
DBCOMPARE* pComparison) const throw();
Parámetros
Marcador1
[in] Primer marcador que se va a comparar.
Marcador2
[in] Segundo marcador que se va a comparar.
pComparación
[out] Puntero al resultado de la comparación.
Valor devuelto
Un HRESULT estándar.
Comentarios
Este método requiere la interfaz opcional IRowsetLocate, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetLocate en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
Para obtener información sobre el uso de marcadores en los consumidores, consulte Uso de marcadores.
CRowset::CRowset
Crea un nuevo objeto CRowset y (opcionalmente) lo asocia a una interfaz IRowset proporcionada como parámetro.
Sintaxis
CRowset();
CRowset(IRowset* pRowset);
Parámetros
pRowset
[in] Puntero a una interfaz IRowset que se va a asociar a esta clase.
CRowset::D elete
Llama a IRowsetChange::D eleteRows para eliminar la fila actual del conjunto de filas.
Sintaxis
HRESULT Delete() const throw();
Valor devuelto
Un HRESULT estándar.
CRowset::FindNextRow
Busca la siguiente fila coincidente después del marcador especificado.
Sintaxis
HRESULT FindNextRow(DBCOMPAREOP op,
BYTE* pData,
DBTYPE wType,
DBLENGTH nLength,
BYTE bPrecision,
BYTE bScale,
BOOL bSkipCurrent = TRUE,
CBookmarkBase* pBookmark = NULL) throw();
Parámetros
Op
[in] Operación que se va a usar para comparar los valores de la fila. Para obtener los valores, consulte IRowsetFind::FindNextRow.
pData
[in] Puntero al valor con el que se va a coincidir.
wType
[in] Indica el tipo de datos de la parte del valor del búfer. Para obtener información sobre los indicadores de tipo, vea Tipos de datos en la Referencia del programador de OLE DB en Windows SDK.
nLongitud
[in] Longitud, en bytes, de la estructura de datos del consumidor asignada para el valor de datos. Para obtener más detalles, consulte la descripción de cbMaxLen en Estructuras DBBINDING en la Referencia del programador de OLE DB.
bPrecisión
[in] Precisión máxima usada al obtener datos. Solo se usa si wType es DBTYPE_NUMERIC. Para obtener más información, consulte Conversiones que implican DBTYPE_NUMERIC o DBTYPE_DECIMAL en la Referencia del programador de OLE DB.
bEscala
[in] Escala que se usa al obtener datos. Solo se usa si wType es DBTYPE_NUMERIC o DBTYPE_DECIMAL. Para obtener más información, consulte Conversiones que implican DBTYPE_NUMERIC o DBTYPE_DECIMAL en la Referencia del programador de OLE DB.
bSkipCurrent
[in] Número de filas del marcador en el que se va a iniciar una búsqueda.
pMarcador
[in] Marcador para la posición en la que se va a iniciar una búsqueda.
Valor devuelto
Un HRESULT estándar.
Comentarios
Este método requiere la interfaz opcional IRowsetFind, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetFind en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
Para obtener información sobre el uso de marcadores en los consumidores, consulte Uso de marcadores.
CRowset::GetApproximatePosition
Devuelve la posición aproximada de una fila correspondiente a un marcador.
Sintaxis
HRESULT GetApproximatePosition(const CBookmarkBase* pBookmark,
DBCOUNTITEM* pPosition,
DBCOUNTITEM* pcRows) throw();
Parámetros
pMarcador
[in] Puntero a un marcador que identifica la fila cuya posición se va a encontrar. NULL si solo se requiere el recuento de filas.
pPosición
[out] Puntero a la ubicación donde GetApproximatePosition devuelve la posición de la fila. NULL si no se requiere la posición.
pcRows
[out] Puntero a la ubicación donde GetApproximatePosition devuelve el número total de filas. NULL si no se requiere el recuento de filas.
Valor devuelto
Un HRESULT estándar.
Comentarios
Este método requiere la interfaz opcional IRowsetScroll, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetScroll en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
Para obtener información sobre el uso de marcadores en los consumidores, consulte Uso de marcadores.
CRowset::GetData
Recupera datos de la copia del conjunto de filas de la fila.
Sintaxis
HRESULT GetData() throw();
HRESULT GetData(int nAccessor) throw();
Parámetros
nDescriptor de acceso
[in] Número de índice (desplazamiento cero) del descriptor de acceso que se va a usar para acceder a los datos.
Valor devuelto
Un HRESULT estándar.
Comentarios
Si se especifica un descriptor de acceso que no es un acceso automático en BEGIN_ACCESSOR, use este método para obtener explícitamente los datos pasando el número de descriptor de acceso.
CRowset::GetDataHere
Recupera los datos de la fila actual y los coloca en el búfer especificado.
Sintaxis
HRESULT GetDataHere(int nAccessor,
void* pBuffer) throw();
Parámetros
nDescriptor de acceso
[in] Número de índice del descriptor de acceso que se va a usar para acceder a los datos.
pBuffer
[out] Búfer en el que se colocarán los datos del registro actual.
Valor devuelto
Un HRESULT estándar.
Comentarios
Para obtener un ejemplo de cómo usar esta función, consulte la muestra MultiRead.
CRowset::GetOriginalData
Llama a IRowsetUpdate::GetOriginalData para recuperar los datos capturados más recientemente de o transmitidos al origen de datos.
Sintaxis
HRESULT GetOriginalData() throw();
Valor devuelto
Un HRESULT estándar.
Comentarios
Este método recupera los datos capturados más recientemente de o transmitidos al origen de datos; no recupera los valores basados en los cambios pendientes.
Este método requiere la interfaz opcional IRowsetUpdate, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetUpdate en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
CRowset::GetRowStatus
Devuelve el estado de todas las filas.
Sintaxis
HRESULT GetRowStatus(DBPENDINGSTATUS* pStatus) const throw();
Parámetros
pEstado
[out] Puntero a una ubicación donde GetRowStatus devuelve el valor de estado. Consulte DBPENDINGSTATUS en la Referencia del programador de OLE DB.
Valor devuelto
Un HRESULT estándar.
Comentarios
Este método requiere la interfaz opcional IRowsetUpdate, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetUpdate en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
CRowset::Insertar
Crea e inicializa una nueva fila con datos del descriptor de acceso.
Sintaxis
HRESULT Insert(int nAccessor = 0,
bool bGetHRow = false) throw();
Parámetros
nDescriptor de acceso
[in] Número del descriptor de acceso que se va a usar para insertar los datos.
bGetHRow
[in] Indica si se recupera el manipulador de la fila insertada.
Valor devuelto
Un HRESULT estándar.
Comentarios
Este método requiere la interfaz opcional IRowsetChange, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetChange en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
La inserción puede fallar si no es grabable en una o más columnas. Modifique la asignación del cursor para corregirlo.
Ejemplo
En el ejemplo siguiente se muestra cómo obtener acceso a un origen de datos a través de un conjunto de filas y después insertar una cadena mediante una tabla de ese conjunto de filas.
En primer lugar, cree una clase de tabla insertando un nuevo objeto ATL en el proyecto. Por ejemplo, haga clic con el botón derecho en el proyecto en el panel Área de trabajo y seleccione Nuevo objeto ATL. En la categoría Acceso a datos, seleccione Consumidor. Cree un objeto de consumidor del tipo Table. (Al seleccionar Tabla se crea un conjunto de filas directamente desde la tabla; al seleccionar Comando se crea un conjunto de filas mediante un comando SQL). Seleccione un origen de datos y especifique una tabla a través de la cual acceda a ese origen de datos. Si se llama al objeto del consumidor CCustomerTable, se implementaría el código de inserción de la siguiente manera:
// Access the rowset using the wizard-generated class, CCustomerTable
CCustomerTable rs; // Your CTable-derived class
// Insert a customer
// Note that for fixed-length fields such as billing ID it isn't necessary
// to set the length
rs.m_BillingID = 5002;
rs.m_dwBillingIDStatus = DBSTATUS_S_OK;
_tcscpy_s(rs.m_ContactFirstName, sizeof(rs.m_ContactFirstName) / sizeof(TCHAR),
_T("Malcolm"));
rs.m_dwContactFirstNameLength = 7;
rs.m_dwContactFirstNameStatus = DBSTATUS_S_OK;
_tcscpy_s(rs.m_L_Name, sizeof(rs.m_L_Name) / sizeof(TCHAR), _T("Reynolds"));
rs.m_dwL_NameLength = 8;
rs.m_dwContactFirstNameStatus = DBSTATUS_S_OK;
rs.m_CustomerID = 2005;
rs.m_dwCustomerIDStatus = DBSTATUS_S_OK;
_tcscpy_s(rs.m_PostalCode, sizeof(rs.m_PostalCode) / sizeof(TCHAR),
_T("34213-4444"));
rs.m_dwPostalCodeLength = 10;
rs.m_dwPostalCodeStatus = DBSTATUS_S_OK;
HRESULT hr = rs.Insert();
if (FAILED(hr))
{
ATLTRACE(_T("Insert failed: 0x%X\n"), hr);
}
CRowset::IsSameRow
Compara la fila especificada con la fila actual.
Sintaxis
HRESULT IsSameRow(HROW hRow) const throw();
Parámetros
hRow
[in] Manipulador de la fila que se va a comparar con la fila actual.
Valor devuelto
Un HRESULT estándar. S_OK indica que las filas son las mismas. Para obtener otros valores, consulte IRowsetIndentity::IsSameRow en la Referencia del programador de OLE DB en Windows SDK.
CRowset::MoveFirst
Mueve el cursor a la posición inicial y recupera la fila inicial.
Sintaxis
HRESULT MoveFirst() throw();
Valor devuelto
Un HRESULT estándar.
Comentarios
Llama a IRowset::RestartPosition para cambiar la posición de la ubicación de captura siguiente a la posición inicial (la posición que era la ubicación de captura siguiente cuando se creó el conjunto de filas) y recupera la fila inicial.
CRowset::MoveLast
Mueve el cursor a la última línea.
Sintaxis
HRESULT MoveLast() throw();
Valor devuelto
Un HRESULT estándar.
Comentarios
Llama a IRowset::RestartPosition para cambiar la posición de la ubicación de captura siguiente a la última posición y recupera la última fila.
Este método requiere que se establezca DBPROP_CANSCROLLBACKWARDS en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas. (Para mejorar el rendimiento, también se puede establecer DBPROP_QUICKRESTART en VARIANT_TRUE).
CRowset::MoveNext
Mueve el cursor hasta el siguiente conjunto de registros.
Sintaxis
HRESULT MoveNext() throw();
HRESULT MoveNext(LONG lSkip,
bool bForward= true) throw();
Parámetros
lSaltar
[in] Número de filas que se omitirán antes de la captura.
bAdelante
[in] Pase true para avanzar al siguiente registro, false para retroceder.
Valor devuelto
Un HRESULT estándar. Cuando se alcanza el final del conjunto de filas, devuelve DB_S_ENDOFROWSET.
Comentarios
Captura la siguiente fila secuencial del objeto CRowset, recordando la posición anterior. Opcionalmente, se puede optar por omitir las filas lSkip o retroceder.
Este método requiere que se establezca establezcan las siguientes propiedades antes de llamar a Open en la tabla o comando que contiene el conjunto de filas:
DBPROP_CANSCROLLBACKWARDSdebe ser VARIANT_TRUE si lSkip< 0DBPROP_CANFETCHBACKWARDSdebe ser VARIANT_TRUE si bForward = false
De lo contrario (si lSkip>= 0 y bForward = true), no es necesario establecer ninguna propiedad adicional.
CRowset::MovePrev
Mueve el cursor hasta el siguiente conjunto de registros.
Sintaxis
HRESULT MovePrev() throw();
Valor devuelto
Un HRESULT estándar.
Comentarios
Este método requiere que se establezca DBPROP_CANFETCHBACKWARDS o DBPROP_CANSCROLLBACKWARDS en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
CRowset::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,
LONG lSkip = 0) throw();
Parámetros
Marcador
[in] Marcador que marca la ubicación desde la que desea capturar los datos.
lSaltar
[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
Un HRESULT estándar.
Comentarios
Este método requiere la interfaz opcional IRowsetLocate, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetLocate en VARIANT_TRUE ay establecer DBPROP_CANFETCHBACKWARDS en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
Para obtener información sobre el uso de marcadores en los consumidores, consulte Uso de marcadores.
CRowset::MoveToRatio
Captura las filas a partir de una posición fraccionaria en el conjunto de filas.
Sintaxis
HRESULT MoveToRatio(DBCOUNTITEM nNumerator,
DBCOUNTITEM nDenominator,bool bForward = true) throw();
Parámetros
nNumerador
[in] El numerador usado para determinar la posición fraccional de la que se van a capturar los datos.
nDenominador
[in] El denominador usado para determinar la posición fraccional de la que se van a capturar los datos.
bAdelante
[in] Indica si se debe avanzar o retroceder. El valor predeterminado es forward.
Valor devuelto
Un HRESULT estándar.
Comentarios
MoveToRatio captura las filas 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 más detalles, consulte IRowsetScroll::GetRowsAtRatio.
Este método requiere la interfaz opcional IRowsetScroll, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetScroll en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
CRowset::ReleaseRows
Llama a IRowset::ReleaseRows para liberar el manipulador de fila actual.
Sintaxis
HRESULT ReleaseRows() throw();
Valor devuelto
Un HRESULT estándar.
CRowset::SetData
Establece los valores de los datos en una o más columnas de una fila.
Sintaxis
HRESULT SetData() const throw();
HRESULT SetData(int nAccessor) const throw();
Parámetros
nDescriptor de acceso
[in] Número del descriptor de acceso que se va a usar para acceder a los datos.
Valor devuelto
Un HRESULT estándar.
Comentarios
Para el formulario SetData que no acepta argumentos, se usan todos los descriptores de acceso para la actualización. Normalmente, se llama a SetData para establecer los valores de los datos en columnas de una fila y después llama a Update para transmitir esos cambios.
Este método requiere la interfaz opcional IRowsetChange, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetChange en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
La operación Set puede fallar si no es grabable en una o más columnas. Modifique la asignación del cursor para corregirlo.
CRowset::Deshacer
Deshace los cambios realizados en una fila desde la última captura o actualización.
Sintaxis
HRESULT Undo(DBCOUNTITEM* pcRows = NULL,
HROW* phRow = NULL,
DBROWSTATUS* pStatus = NULL) throw();
Parámetros
pcRows
[out] Puntero a la ubicación donde Undo devuelve el número de filas que intentó deshacer si es necesario.
phRow
[out] Puntero a la ubicación donde Undo devuelve una matriz de manipuladores a todas las filas que intentó deshacer si es necesario.
pEstado
[out] Puntero a la ubicación donde Undo devuelve el valor del estado de la fila. No se devuelve ningún estado si pStatus es null.
Valor devuelto
Un HRESULT estándar.
Comentarios
Este método requiere la interfaz opcional IRowsetUpdate, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetUpdate en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
CRowset::Actualizar
Transfiere los cambios pendientes realizados en la fila actual desde la última llamada de recuperación de cambios o de Update.
Sintaxis
HRESULT Update(DBCOUNTITEM* pcRows = NULL,
HROW* phRow = NULL,
DBROWSTATUS* pStatus = NULL) throw();
Parámetros
pcRows
[out] Puntero a la ubicación donde Update devuelve el número de filas que intentó actualizar si es necesario.
phRow
[out] Puntero a la ubicación donde Update devuelve el manipulador de la fila que intentó actualizar. No se devuelve ningún manipulador si phRow es null.
pEstado
[out] Puntero a la ubicación donde Update devuelve el valor del estado de la fila. No se devuelve ningún estado si pStatus es null.
Valor devuelto
Un HRESULT estándar.
Comentarios
Transmite los cambios pendientes realizados en la fila actual desde que esa fila se capturó o actualizó por última vez (por medio de Update o UpdateAll). Normalmente, se llama a SetData para establecer los valores de los datos en columnas de una fila y después llama a Update para transmitir esos cambios.
Este método requiere la interfaz opcional IRowsetUpdate, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetUpdate en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
CRowset::UpdateAll
Transfiere los cambios pendientes realizados en todas las filas desde la última llamada de recuperación de cambios o de Update.
Sintaxis
HRESULT UpdateAll(DBCOUNTITEM* pcRows = NULL,
HROW** pphRow = NULL,
DBROWSTATUS** ppStatus = NULL) throw();
Parámetros
pcRows
[out] Puntero a la ubicación donde UpdateAll devuelve el número de filas que intentó actualizar si es necesario.
pphRow
[out] Puntero a la memoria en el cual UpdateAll devuelve el manipulador de la fila que intentó actualizar. No se devuelve ningún manipulador si pphRow es null.
ppStatus
[out] Puntero a la ubicación donde Update devuelve el valor del estado de la fila. No se devuelve ningún estado si ppStatus es null.
Comentarios
Transmite los cambios pendientes realizados en todas las filas desde que esas filas se capturaron por última vez o se actualizaron mediante Update o UpdateAll.
UpdateAll actualizará todas las filas que se han modificado, independientemente de si todavía tiene el manipulador para ellas (consulte pphRow) o no.
Por ejemplo, si se usó Insert para insertar cinco filas en un conjunto de filas, se podría llamar cinco veces a Update o llamar a UpdateAll una vez para actualizarlas todas.
Este método requiere la interfaz opcional IRowsetUpdate, que podría no ser compatible con todos los proveedores; si este es el caso, el método devuelve E_NOINTERFACE. También se debe establecer DBPROP_IRowsetUpdate en VARIANT_TRUE antes de llamar a Open en la tabla o comando que contiene el conjunto de filas.
Valor devuelto
Un HRESULT estándar.
Consulte también
Muestra DBViewer
Muestra MultiRead
Muestra de atributos MultiRead
Plantillas de consumidor OLE DB
Referencia de plantillas de consumidor OLE DB