virtual void AddNew ( );
tirar ( CDBException );
Observaciones
Llamar a esta función miembro para prepararse para agregar un nuevo registro a la tabla. Debe llamar a la función miembro Requery para ver el registro recién agregado. Los campos del registro son inicialmente nulos. (En la terminología de base de datos Null significa "no tener ningún valor" y no es lo mismo como NULL en C++). Para completar la operación, debe llamar a la función de miembro de actualización . Actualización guarda los cambios en el origen de datos.
&Notanbsp; Si han implementado la obtención masiva de filas, no se puede llamar AddNew. Esto resultará en una aserción fallida. Aunque la clase CRecordset no proporcionan un mecanismo de actualización masiva de filas de datos, puede escribir sus propias funciones mediante la función de la API de ODBC SQLSetPos. Un ejemplo de cómo hacerlo, vea el ejemplo DBFETCH. Para obtener más información sobre la obtención masiva de filas, vea el artículo conjunto de registros: obtener registros en masiva (ODBC) en la Guía del programador de Visual C++.
AddNew prepara un registro nuevo y vacío con miembros de datos de campo del conjunto de registros. Después de llamar a AddNew, establezca los valores que desee en los miembros de datos de campo del conjunto de registros. (No tienes que llamar a la función de miembro de Editar para este propósito; utilice Editar sólo para los registros existentes.) Cuando posteriormente llamar a Update, cambia los valores de los datos del campo miembros se guardan en el origen de datos.
Precaució&nnbsp; Si se desplaza a un nuevo registro antes de llamar a Update, el nuevo registro se pierde y no se da ninguna advertencia.
Si el origen de datos admite transacciones, puede hacer que tu AddNew llamar a parte de una transacción. Para obtener más información acerca de las transacciones, vea la clase CDatabase. Tenga en cuenta que debe llamar a CDatabase::BeginTrans antes de llamar a AddNew.
Importa&ntenbsp; Conjuntos de registros dinámicos, se añaden nuevos registros al conjunto de registros como el último registro. Agrega registros no se agregan a las instantáneas, debe llamar a Requery para actualizar el conjunto de registros.
Es ilegal llamar a AddNew para un conjunto de registros cuya función miembro Open no ha sido llamado. Si llama a AddNew para un conjunto de registros que no puede ser anexado a, se produce un CDBException . Puede determinar si el conjunto de registros es actualizable llamando CanAppend.
Para obtener más información, consulte los siguientes artículos de la Guía del programador de Visual C++: conjunto de registros: cómo se actualizan los registros (ODBC), conjunto de registros: agregar, actualizar y eliminar registros (ODBC), y Transacción (ODBC).
Ejemplo
Consulte el artículo transacción: realizar una transacción en un conjunto de registros (ODBC) en la Guía del programador de Visual C++.
Visió&n General de CRecordset |nbsp; Miembros de clase | Diagrama de jerarquía
Vea tambié&nnbsp;CRecordset::Edit, CRecordset::Delete, CRecordset:: Update, CRecordset::Requery, CDatabase::BeginTrans, CDBException