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.
Precaución |
---|
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