Compartir a través de


CRecordset::AddNew

Se prepara para agregar un nuevo registro a la tabla.

virtual void AddNew( );

Comentarios

Se debe llamar a la función miembro de Requery para ver el registro recién agregado. Los campos del registro son inicialmente Null. (En términos de base de datos, Null significa “no tener ningún valor” y no es igual que NULL en C++). Para completar la operación, se debe llamar a la función miembro de Update . Update guarda los cambios en el origen de datos.

Nota

Si está implementada la obtención de filas masiva, no puede llamar a AddNew.Esto da lugar a un error de aserción.Aunque la clase CRecordset no proporcionan un mecanismo para actualizar filas masivas de datos, puede escribir las propias funciones mediante la función API SQLSetPosde ODBC.Para obtener más información sobre la obtención masiva de filas, vea el artículo conjunto de registros: Obtener registros de forma masiva (ODBC).

AddNew prepara un nuevo, vacío registro utilizando miembros de datos de campo de conjunto de registros. Después de llamar a AddNew, establezca los valores que desea en los miembros de datos de campo de conjunto de registros. (No tiene que llamar a la función miembro de Editar con este fin; uso Editar sólo para los registros existentes). Cuando se llama posteriormente Actualizar, los valores cambiados en los miembros de datos de campo se guardan en el origen de datos.

Advertencia

Si mueve un nuevo registro antes de llamar a Actualizar, se pierde el nuevo registro, y no se proporciona ninguna advertencia.

Si el origen de datos admite transacciones, puede crear su parte de la llamada de AddNew de una transacción. Para obtener más información sobre transacciones, vea la clase CDatabase. Observe que debe llamar CDatabase::BeginTrans antes de llamar a AddNew.

Nota

Para los conjuntos de registros dinámicos, se agregan nuevos registros al conjunto de registros como el último registro.Los registros agregados no se agregan a instantáneas; debe llamar a Requery para actualizar el conjunto de registros.

No es válido llamar a AddNew para un conjunto de registros cuya función miembro de Abrir no se ha llamado. Se produce CDBException si llama a AddNew para un conjunto de registros al no poder anexado. Puede determinar si el conjunto de registros es actualizable llamando a CanAppend.

Para obtener más información, vea los artículos siguientes: conjunto de registros: Actualizar los registros (ODBC), conjunto de registros: Agregar, actualizar, y eliminar registros (ODBC), y transacción (ODBC).

Excepciones

Este método puede producir excepciones de **CDBException***escrito.

Ejemplo

Vea el artículo transacción: Realizar una transacción en un conjunto de registros (ODBC).

Requisitos

encabezado: afxdb.h

Vea también

Referencia

CRecordset Class

Gráfico de jerarquías

CRecordset::Edit

CRecordset::Delete

CRecordset::Update

CRecordset::Requery

CDatabase::BeginTrans

CDBException (Clase)