COleDBRecordView (clase)
Una vista que muestra registros de una base de datos en controles.
Sintaxis
class COleDBRecordView : public CFormView
Miembros
Constructores protegidos
Nombre | Descripción |
---|---|
COleDBRecordView::COleDBRecordView | Construye un objeto COleDBRecordView . |
Métodos públicos
Nombre | Descripción |
---|---|
COleDBRecordView::OnGetRowset | Devuelve un valor HRESULT estándar. |
COleDBRecordView::OnMove | Novedades el registro actual (si está sucio) en el origen de datos y, a continuación, se mueve al registro especificado (siguiente, anterior, primero o último). |
Comentarios
La vista es una vista de formulario conectada directamente a un objeto CRowset
. La vista se crea a partir de un recurso de plantilla de diálogo y muestra los campos del objeto CRowset
en los controles de la plantilla de diálogo. El objeto COleDBRecordView
usa el intercambio de datos de diálogo (DDX) y la funcionalidad de navegación integrada en CRowset
, para automatizar el movimiento de datos entre los controles del formulario y los campos del conjunto de filas. COleDBRecordView
también proporciona una implementación predeterminada para pasar al primer, siguiente, anterior o último registro y una interfaz para actualizar el registro actualmente en la vista.
Puede usar funciones DDX con COleDbRecordView
para obtener datos directamente desde el conjunto de registros de base de datos y mostrarlos en un control de cuadro de diálogo. Debe usar los métodos DDX_*
(como DDX_Text
), no las funciones DDX_Field*
(como DDX_FieldText
) con COleDbRecordView
. DDX_FieldText
no funcionará con COleDbRecordView
porque toma un argumento adicional de tipo DDX_FieldText
(para CRecordset*
) o CRecordView
(para CDaoRecordset*
CDaoRecordView
).
Nota:
Si está trabajando con las clases Objetos de acceso a datos (DAO) en lugar de con las clases plantilla de consumidor ole DB, use la clase CDaoRecordView en su lugar. Para más información, consulte el artículo Información general: programación de bases de datos.
COleDBRecordView
realiza un seguimiento de la posición del usuario en el conjunto de filas para que la vista de registros pueda actualizar la interfaz de usuario. Cuando el usuario se mueve al final del conjunto de filas, la vista de registros deshabilita los objetos de la interfaz de usuario (como los elementos de menú o los botones de la barra de herramientas) para moverse más lejos en la misma dirección.
Para obtener más información sobre las clases de conjunto de filas, consulte el artículo Uso de plantillas de consumidor de OLE DB.
Jerarquía de herencia
COleDBRecordView
Requisitos
Encabezado: afxoledb.h
COleDBRecordView::COleDBRecordView
Construye un objeto COleDBRecordView
.
COleDBRecordView(LPCTSTR lpszTemplateName);
COleDBRecordView(UINT nIDTemplate);
Parámetros
lpszTemplateName
Contiene una cadena terminada en null que es el nombre de un recurso de plantilla de diálogo.
nIDTemplate
Contiene el número de identificador de un recurso de plantilla de diálogo.
Comentarios
Al crear un objeto de un tipo derivado de COleDBRecordView
, invoque uno de los constructores para crear el objeto de vista e identificar el recurso de diálogo en el que se basa la vista. Puede identificar el recurso por nombre (pasar una cadena como argumento al constructor) o por su identificador (pasar un entero sin signo como argumento).
Nota:
La clase derivada debe proporcionar su propio constructor. En el constructor, invoque el constructor, COleDBRecordView::COleDBRecordView
, con el nombre del recurso o el identificador como argumento.
COleDBRecordView::OnGetRowset
Devuelve un identificador para el objeto CRowset<> asociado a la vista de registros.
virtual CRowset<>* OnGetRowset() = 0;
Valor devuelto
Valor HRESULT estándar.
Comentarios
Debe invalidar esta función miembro para construir u obtener un objeto de conjunto de filas y devolverle un identificador. Si declara la clase de vista de registros con ClassWizard, el asistente escribe una invalidación predeterminada. La implementación predeterminada de ClassWizard devuelve el identificador de conjunto de filas almacenado en la vista de registros si existe uno. Si no es así, construye un objeto de conjunto de filas del tipo especificado con ClassWizard y llama a su función miembro Open
para abrir la tabla o ejecutar la consulta y, a continuación, devuelve un identificador al objeto .
Nota:
Anterior a MFC 7.0, OnGetRowset
devolvió un puntero a CRowset
. Si tiene código que llama a OnGetRowset
, debe cambiar el tipo de valor devuelto a la clase temporal CRowset<>.
Ejemplo
CFrameWnd* pFrame = (CFrameWnd*)AfxGetMainWnd();
COleDBRecordView* pView = (COleDBRecordView*)pFrame->GetActiveView();
// CProductAccessor is a user-defined accessor class
CRowset<CAccessor<CProductAccessor>>* pRowSet =
(CRowset<CAccessor<CProductAccessor>>*)pView->OnGetRowset();
Para obtener más información y ejemplos, vea el artículo Vistas de registro: Uso de una vista de registros.
COleDBRecordView::OnMove
Se mueve a un registro diferente en el conjunto de filas y muestra sus campos en los controles de la vista de registro.
virtual BOOL OnMove(UINT nIDMoveCommand);
Parámetros
nIDMoveCommand
Uno de los siguientes valores de identificador de comando estándar:
ID_RECORD_FIRST: vaya al primer registro del conjunto de registros.
ID_RECORD_LAST: vaya al último registro del conjunto de registros.
ID_RECORD_NEXT: vaya al siguiente registro del conjunto de registros.
ID_RECORD_PREV: vaya al registro anterior del conjunto de registros.
Valor devuelto
Distinto de cero si el movimiento se realizó correctamente; de lo contrario, 0 si se denegó la solicitud de traslado.
Comentarios
La implementación predeterminada llama a la función miembro Move
adecuada del objeto CRowset
asociado a la vista de registros.
De forma predeterminada, OnMove
actualiza el registro actual en el origen de datos si el usuario lo ha cambiado en la vista de registros.
El Asistente para aplicaciones crea un recurso de menú con los elementos de menú Primer registro, Último registro, Registro siguiente y Registro anterior. Si selecciona la opción Barra de herramientas acoplable, el Asistente para aplicaciones también crea una barra de herramientas con botones correspondientes a estos comandos.
Si se mueve más allá del último registro del conjunto de registros, la vista de registros continúa mostrando el último registro. Si se desplaza hacia atrás después del primer registro, la vista de registro continúa mostrando el primer registro.