AddNew (método) (ADO)
Crea un nuevo registro para un objeto Recordset actualizable.
Sintaxis
recordset.AddNew FieldList, Values
Parámetros
recordset
Objeto Recordset.
FieldList
Opcional. Un nombre único o una matriz de nombres o posiciones ordinales de los campos del nuevo registro.
Valores
Opcional. Un valor único o una matriz de valores para los campos del nuevo registro. Si Fieldlist es una matriz, Values también debe ser una matriz con el mismo número de miembros; de lo contrario, se produce un error. El orden de los nombres de campo debe coincidir con el orden de los valores de campo en cada matriz.
Comentarios
Use el método AddNew para crear e inicializar un nuevo registro. Utilice el método Supports con adAddNew (un valor CursorOptionEnum) para comprobar si puede agregar registros al objeto Recordset actual.
Después de llamar al método AddNew, el nuevo registro se convierte en el registro actual y permanece actual después de llamar al método Update. Puesto que el nuevo registro se anexa al objeto Recordset, una llamada a MoveNext después de la actualización se moverá más allá del final del Recordset, haciendo que EOF sea True. Si el objeto Recordset no admite marcadores, es posible que no pueda acceder al nuevo registro una vez que se mueva a otro registro. Según el tipo de cursor, es posible que tenga que llamar al método Requery para que el nuevo registro sea accesible.
Si llama a AddNew mientras edita el registro actual o mientras agrega un nuevo registro, ADO llama al método Update para guardar los cambios y, a continuación, crea el nuevo registro.
El comportamiento del método AddNew depende del modo de actualización del objeto Recordset y de si se pasan los argumentos Fieldlist y Values.
En el modo de actualización inmediata (en el que el proveedor escribe los cambios en el origen de datos subyacente una vez que se ha llamado al método Update), si se llama al método AddNew sin argumentos, la propiedad EditMode se establece en adEditAdd (un valor EditModeEnum). El proveedor almacena en caché localmente los cambios de valor de campo. Al llamar al método Update, se publica el nuevo registro en la base de datos y se restablece la propiedad EditMode a adEditNone (un valorEditModeEnum). Si pasa los argumentos Fieldlist y Values, ADO envía inmediatamente el nuevo registro a la base de datos (no es necesario llamar a Update); el valor de la propiedad EditMode no cambia (adEditNone).
En el modo de actualización por lotes (en el que el proveedor almacena en caché varios cambios y los escribe en el origen de datos subyacente solo cuando se llama al método UpdateBatch), al llamar al método AddNew sin argumentos se establece la propiedad EditMode en adEditAdd. El proveedor almacena en caché localmente los cambios de valor de campo. Al llamar al método Update, se agrega el nuevo registro al Recordset actual, pero el proveedor no publica los cambios en la base de datos subyacente ni restablece editMode a adEditNone, hasta que se llama al método UpdateBatch. Si pasa los argumentos Fieldlist y Values, ADO envía el nuevo registro al proveedor para el almacenamiento en una memoria caché y establece EditMode a adEditAdd; debe llamar al método UpdateBatch para publicar el nuevo registro en la base de datos subyacente.
Ejemplo
En el ejemplo siguiente se muestra cómo usar el método AddNew con la lista de campos y la lista de valores incluidas para ver cómo incluir la lista de campos y la lista de valores como matrices.
create table aa1 (intf int, charf char(10))
insert into aa1 values (2, 'aa')
Dim cn As New adodb.Connection
Dim rs As New adodb.Recordset
Dim cmd As New adodb.Command
cn.ConnectionString = "Provider=SQLOLEDB;Data Source=alexverb2;uid=sa;pwd=<password>;"
cn.Open
rs.Open "select * from xxx..aa1", cn, adOpenKeyset, adLockOptimistic
Dim fieldsArray(1) As Variant
fieldsArray(0) = "intf"
fieldsArray(1) = "charf"
Dim values(1) As Variant
values(0) = 4
values(1) = "as"
rs.AddNew fieldsArray, values
rs.Update
Se aplica a
Objeto de conjunto de registros (ADO)
Consulte también
Ejemplo del método AddNew (VB)
Ejemplo del método AddNew (VBScript)
Ejemplo del método AddNew (VC ++)
Método CancelUpdate (ADO)
Propiedad EditMode
Requery (método)
Método Supports
Update (método)
Método UpdateBatch