Compartir a través de


Conjunto de registros: Actualizar los registros (ODBC)

Este tema es aplicable a las clases ODBC de MFC.

Además de su capacidad de seleccionar registros de un origen de datos, los conjuntos de registros pueden (opcionalmente) actualizar o eliminar los registros seleccionados o agregar nuevos registros.Tres factores determinan la capacidad de actualización de un conjunto de registros: que el origen de datos conectados sea actualizable, las opciones especificadas al crear un objeto de conjunto de registros y el código SQL que se genera.

[!NOTA]

El código SQL en el que se basa el objeto CRecordset puede afectar a la capacidad de actualización del conjunto de registros.Por ejemplo, si el código SQL contiene una combinación o una cláusula GROUP BY, MFC establece su propiedad de actualización en FALSE.

[!NOTA]

Este tema se aplica a objetos derivados de CRecordset donde no se haya implementado la obtención masiva de filas.Si utiliza la obtención masiva de filas, vea Conjunto de registros: Obtener registros de forma masiva (ODBC).

En este tema se explica:

  • El rol del programador al actualizar el conjunto de registros y lo que hace el marco de trabajo en favor del usuario.

  • El conjunto de registros como búfer de edición y las diferencias entre conjuntos de registros dinámicos e instantáneas.

Conjunto de registros: Funcionamiento de AddNew, Edit y Delete (ODBC) describe las acciones de estas funciones desde el punto de vista del conjunto de registros.

Conjunto de registros: Información adicional sobre las actualizaciones (ODBC) completa los temas de actualización de conjuntos de registros explicando cómo afectan las transacciones a las actualizaciones, cómo afecta el cierre o el desplazamiento en un conjunto de registros a las actualizaciones en progreso, y cómo interactúan sus propias operaciones de actualización con las actualizaciones de otros usuarios.

El rol del programador al actualizar el conjunto de registros

La siguiente tabla muestra el rol del programador al usar conjuntos de registros para agregar, editar o eliminar registros, junto con lo que el marco de trabajo realiza para el programador.

Actualización del conjunto de registros: el programador y el marco de trabajo

El programador

El marco de trabajo

Determina si el origen de datos es actualizable (o anexable).

Proporciona funciones miembro CDatabase para probar la capacidad de actualización o anexación del origen de datos.

Abre un conjunto de registros actualizable (de cualquier tipo)

 

Determina si el conjunto de registros es actualizable llamando a funciones de actualización de CRecordset como CanUpdate o CanAppend.

 

Llama a las funciones miembro del conjunto de registros para agregar, editar o eliminar registros.

Administra el mecanismo de intercambio de datos entre el objeto de conjunto de registros y el origen de datos.

De forma opcional, utiliza transacciones para controlar el proceso de actualización.

Proporciona funciones miembro de CDatabase para admitir las transacciones.

Para obtener más información sobre transacciones, vea Transacción (ODBC).

El búfer de edición

Tomados colectivamente, los miembros de datos de campo de un conjunto de registros actúan como búfer de edición que contiene un registro, el registro actual.Las operaciones de actualización usan este búfer para trabajar sobre el registro actual.

  • Al agregar un registro, se utiliza el búfer de edición para compilar un nuevo registro.Al terminar de agregar el registro, el registro que anteriormente se consideraba como actual vuelve a ser el registro actual.

  • Al actualizar (editar) un registro, el búfer de edición se utiliza para establecer los miembros de datos de campo del conjunto de registros en nuevos valores.Al terminar la actualización, el registro actualizado sigue siendo el actual.

Al llamar a AddNew o a Edit, se almacena el registro actual para que pueda restaurarse más tarde según sea necesario.Al llamar a Delete no se almacena el registro actual, pero se marca como eliminado, y el usuario debe desplazarse a otro registro.

[!NOTA]

El búfer de edición no juega ningún rol en la eliminación de registros.Al eliminar el registro actual, se marca como eliminado y se considera que el conjunto de registros "no está en ningún registro" hasta que se desplace a un registro diferente.

Conjuntos de registros dinámicos e instantáneas

Las instantáneas actualizan el contenido de un registro al desplazarse a él.Los conjuntos de registros dinámicos son representaciones estáticas de los registros, por lo que el contenido de un registro no se actualiza hasta que se llama a Requery.Para poder aprovechar toda la funcionalidad de los conjuntos de registros dinámicos, debe trabajar con un controlador ODBC compatible en el nivel adecuado con la API ODBC.Para obtener más información, vea ODBC y Conjuntos de registros dinámicos.

Vea también

Conceptos

Conjunto de registros (ODBC)

Conjunto de registros: Funcionamiento de AddNew, Edit y Delete (ODBC)