CDaoRecordset::Edit

virtual void Editar ();
Tiro (CDaoException, CMemoryException);

Observaciones

Llame a esta función miembro para permitir los cambios en el registro actual.

Una vez que usted llame a la función de miembro de Editar , se copian los cambios realizados en los campos del registro actual en el búfer de copia. Después de realizar los cambios deseados en el registro, llamar a Update para guardar los cambios. Editar guarda los valores de los miembros del conjunto de registros de datos. Si llamar a Editar, realizar cambios y llamar nuevamente a Editar , se restauran los valores del registro a lo que eran antes de la primera llamada de Editar.

Precaució&nnbsp;  Si edita un registro y, a continuación, realizar cualquier operación que se mueve a otro registro sin llamada primera actualización, los cambios se pierden sin previo aviso. Además, si cierra el objeto recordset o la base de datos principal, se descarta su registro editado sin previo aviso.

En algunos casos, puede que desee actualizar una columna haciendo nulo (sin datos). Para hacerlo, llame al SetFieldNull con un parámetro de TRUE para marcar el campo Null; Esto también causa la columna para actualizarse. Si desea un campo que se escribe en el origen de datos a pesar de que su valor no ha cambiado, llame a SetFieldDirty con un parámetro de verdad. Esto funciona incluso si el campo tiene el valor Null.

Las marcas de marco cambian miembros de datos de campo para asegurar que se escribirán en el registro en el origen de datos mediante el mecanismo de intercambio (DFX) de campos de registros de DAO. Cambiar el valor de un campo generalmente establece el campo sucio automáticamente, por lo que rara vez tendrá que llamarte SetFieldDirty , pero a veces puede que desee garantizar que columnas serán actualizadas o insertadas independientemente de qué valor es el miembro de datos de campo explícitamente. El mecanismo DFX también emplea el uso de NULL de PSEUDO. Para obtener más información, consulte CDaoFieldExchange::m_nOperation.

Si no se utiliza el mecanismo de doble búfer, cambie el valor del campo no establece automáticamente el campo como sucio. En este caso, será necesario conjunto explícitamente el campo sucio. La bandera contenidas en controles de m_bCheckCacheForDirtyFields esta comprobación de campo automática.

Cuando el objeto recordset Seleucid está bloqueado en un entorno multiusuario, los restos de registros bloqueados desde el momento de Editar se utiliza hasta que se complete la actualización. Si el objeto recordset con optimismo está bloqueado, el registro es bloqueado y en comparación con el registro preeditado justo antes de que se actualiza en la base de datos. Si el registro ha cambiado desde que llamó Editar, se produce un error en la operación de actualización y MFC produce una excepción. Puede cambiar el modo de bloqueo con SetLockingMode.

&Notanbsp;  Bloqueo optimista siempre se utiliza en los formatos de base de datos externa, como ODBC y ISAM instalable.

El registro actual sigue estando activo después de llamar a Editar. Para llamar a Editar, debe haber un registro actual. Si no hay ningún registro actual o si el recordset no hace referencia a un tipo de tabla abierta o un objeto recordset de tipo dynaset, se produce una excepción. Llamar a Editar provoca un CDaoException ser arrojados bajo las siguientes condiciones:

Si el origen de datos admite transacciones, puede realizar la Edición llamada parte de una transacción. Tenga en cuenta que debe llamar a CDaoWorkspace::BeginTrans antes de llamar a Editar y después se ha abierto el juego de registros. También tenga en cuenta que llamar a CDaoWorkspace::CommitTrans no es un sustituto de llamar a Update para completar la operación de Edición . Para obtener más información acerca de las transacciones, vea la clase CDaoWorkspace.

Para obtener más información sobre la actualización de datos, consulte el artículo DAO Recordset: conjunto de registros de operaciones en la Guía del programador de Visual C++. Para obtener información relacionada, vea los temas "Método AddNew", "Método Edit", "Método Delete", "Método de actualización" y "Propiedad actualizable" en la ayuda de DAO.

Visió&n General de CDaoRecordset |nbsp; Miembros de clase | Diagrama de jerarquía

Vea tambiénnbsp;CDaoRecordset::Add&New, CDaoRecordset::CancelUpdate, CDaoRecordset::CanTransact, CDaoRecordset::Delete, CDaoRecordset::Update

Index