DbDataAdapter.Update Método

Definición

Actualiza los valores de la base de datos ejecutando las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en DataSet.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the DataSet.

Sobrecargas

Update(DataSet, String)

Actualiza los valores de la base de datos al ejecutar las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en los objetos DataSet con el nombre de DataTable especificado.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the DataSet with the specified DataTable name.

Update(DataRow[], DataTableMapping)

Actualiza los valores de la base de datos ejecutando las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en la matriz de objetos DataSet especificada.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified array of DataSet objects.

Update(DataTable)

Actualiza los valores de la base de datos ejecutando las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en los objetos DataTable especificados.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified DataTable.

Update(DataSet)

Actualiza los valores de la base de datos ejecutando las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en los objetos DataSet especificados.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified DataSet.

Update(DataRow[])

Actualiza los valores de la base de datos ejecutando las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en la matriz especificada en DataSet.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified array in the DataSet.

Update(DataSet, String)

Actualiza los valores de la base de datos al ejecutar las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en los objetos DataSet con el nombre de DataTable especificado.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the DataSet with the specified DataTable name.

public:
 int Update(System::Data::DataSet ^ dataSet, System::String ^ srcTable);
public int Update (System.Data.DataSet dataSet, string srcTable);
override this.Update : System.Data.DataSet * string -> int

Parámetros

dataSet
DataSet

DataSet que se va a utilizar para actualizar el origen de datos.The DataSet to use to update the data source.

srcTable
String

Nombre de la tabla de origen que se va a utilizar para la asignación de tabla.The name of the source table to use for table mapping.

Devoluciones

Número de filas del DataSet actualizadas correctamente.The number of rows successfully updated from the DataSet.

Excepciones

DataSet no es válido.The DataSet is invalid.

La tabla de origen no es válida.The source table is invalid.

El hecho de intentar ejecutar una instrucción INSERT, UPDATE o DELETE no ha afectado a ningún registro.An attempt to execute an INSERT, UPDATE, or DELETE statement resulted in zero records affected.

Ejemplos

En el ejemplo siguiente se usa la clase OleDbDataAdapterderivada,, para actualizar el origen de datos.The following example uses the derived class, OleDbDataAdapter, to update the data source.

public DataSet CreateCmdsAndUpdate(string connectionString,
    string queryString, string tableName) 
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand(queryString, connection);
        OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);

        connection.Open();

        DataSet customers = new DataSet();
        adapter.Fill(customers);

        //code to modify data in dataset here

        adapter.Update(customers, tableName);

        return customers;
    }
}
Public Function CreateCmdsAndUpdate(ByVal connectionString As String, _
    ByVal queryString As String, _
    ByVal tableName As String) As DataSet

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter()
        adapter.SelectCommand = New OleDbCommand(queryString, connection)
        Dim builder As New OleDbCommandBuilder(adapter)

        connection.Open()

        Dim customers As New DataSet()
        adapter.Fill(customers)

        ' Code to modify data in DataSet here 

        adapter.Update(customers, tableName)

        Return customers
    End Using
End Function

Comentarios

Cuando una aplicación llama al Update método DbDataAdapter , examina la RowState propiedad y ejecuta las instrucciones INSERT, Update o DELETE requeridas de forma iterativa para cada fila, según el orden de los índices configurados en el DataSet.When an application calls the Update method, the DbDataAdapter examines the RowState property, and executes the required INSERT, UPDATE, or DELETE statements iteratively for each row, based on the order of the indexes configured in the DataSet. Por ejemplo, Update podría ejecutar una instrucción Delete, seguida de una instrucción INSERT y, a continuación, otra instrucción Delete, debido al orden de las filas DataTablede.For example, Update might execute a DELETE statement, followed by an INSERT statement, and then another DELETE statement, due to the ordering of the rows in the DataTable.

Tenga en cuentan que estas instrucciones no se realizan como un proceso por lotes; cada fila se actualiza individualmente.It should be noted that these statements are not performed as a batch process; each row is updated individually. Una aplicación puede llamar GetChanges al método en situaciones en las que se debe controlar la secuencia de tipos de instrucción (por ejemplo, insertar antes de la actualización).An application can call the GetChanges method in situations where you must control the sequence of statement types (for example, INSERT before UPDATE). Para obtener más información, vea Actualizar orígenes de datos con DataAdapters.For more information, see Updating Data Sources with DataAdapters.

Si no se han especificado las instrucciones INSERT, Update o DELETE, el Update método genera una excepción.If INSERT, UPDATE, or DELETE statements have not been specified, the Update method generates an exception. Sin embargo, puede crear un SqlCommandBuilder objeto OleDbCommandBuilder o para generar automáticamente instrucciones SQL para actualizaciones de tabla única si establece la SelectCommand propiedad de un proveedor de datos de .NET Framework.However, you can create a SqlCommandBuilder or OleDbCommandBuilder object to automatically generate SQL statements for single-table updates if you set the SelectCommand property of a .NET Framework data provider. A continuación, el CommandBuildergenera cualquier instrucción SQL adicional que no establezca.Then, any additional SQL statements that you do not set are generated by the CommandBuilder. Esta lógica de generación requiere que la información de la DataSetcolumna de clave esté presente en.This generation logic requires key column information to be present in the DataSet. Para obtener más información, consulte generar comandos con objetos CommandBuilder.For more information see Generating Commands with CommandBuilders.

El Update método admite escenarios en los DataSet que el DataTable contiene varios objetos cuyos nombres solo se diferencian en el uso de mayúsculas y minúsculas.The Update method supports scenarios where the DataSet contains multiple DataTable objects whose names differ only by case. Cuando hay varias tablas con el mismo nombre, pero con un caso diferente, DataSeten Update un, realiza una comparación que distingue entre mayúsculas y minúsculas para encontrar la tabla correspondiente y genera una excepción si no existe ninguna coincidencia exacta.When multiple tables with the same name, but different case, exist in a DataSet, Update performs a case-sensitive comparison to find the corresponding table, and generates an exception if no exact match exists. En el C# código siguiente se muestra este comportamiento.The following C# code illustrates this behavior.

DataSet ds = new DataSet();  
 ds.Tables.Add("aaa");  
 ds.Tables.Add("AAA");  
 adapter.Update(ds, "aaa"); // Updates "aaa", which already exists in the DataSet.  
 adapter.Update(ds, "AAA"); // Updates "AAA", which already exists in the DataSet.  
    adapter.Update(ds, "Aaa"); // Results in an exception.  

Si Update se llama a DataSet y contiene solo uno DataTable cuyo nombre difiere solo en caso de que DataTable se actualice.If Update is called and the DataSet contains only one DataTable whose name differs only by case, that DataTable is updated. En este escenario, la comparación no distingue entre mayúsculas y minúsculas.In this scenario, the comparison is case insensitive. En el C# código siguiente se muestra este comportamiento.The following C# code illustrates this behavior.

DataSet dataset = new DataSet();  
 dataset.Tables.Add("aaa");  
    adapter.Update(dataset, "AAA"); // Updates table "aaa" because only one similarly named table is in the DataSet.  

El Update método recupera filas de la tabla enumerada en la primera asignación antes de realizar una actualización.The Update method retrieves rows from the table listed in the first mapping before performing an update. A continuación, actualiza la fila con el valor de la UpdatedRowSource propiedad. UpdateThe Update then refreshes the row using the value of the UpdatedRowSource property. Se omiten las filas adicionales devueltas.Any additional rows returned are ignored.

Una vez que los datos se vuelven a DataSetcargar en OnRowUpdated el, se genera el evento, lo que permite al usuario DataSet inspeccionar la fila reconciliada y los parámetros de salida devueltos por el comando.After any data is loaded back into the DataSet, the OnRowUpdated event is raised, allowing the user to inspect the reconciled DataSet row and any output parameters returned by the command. Después de que una fila se actualice correctamente, se aceptan los cambios en esa fila.After a row updates successfully, the changes to that row are accepted.

Al utilizar Update, el orden de ejecución es el siguiente:When using Update, the order of execution is as follows:

  1. Los valores de DataRow se mueven a los valores de parámetro.The values in the DataRow are moved to the parameter values.

  2. Se genera el evento OnRowUpdating.The OnRowUpdating event is raised.

  3. Se ejecuta el comando.The command executes.

  4. Si el comando se establece en FirstReturnedRecord, el primer resultado devuelto se coloca DataRowen.If the command is set to FirstReturnedRecord, then the first returned result is placed in the DataRow.

  5. Si hay parámetros de salida, se colocan en DataRowel.If there are output parameters, they are placed in the DataRow.

  6. Se genera el evento OnRowUpdated.The OnRowUpdated event is raised.

  7. Se llama a AcceptChanges.AcceptChanges is called.

Cada comando asociado DbDataAdapter a normalmente tiene una colección de parámetros asociada.Each command associated with the DbDataAdapter usually has a parameters collection associated with it. Los parámetros se asignan a la fila actual SourceColumn a SourceVersion través de las propiedades y de una Parameter clase de proveedor de datos de .NET Framework.Parameters are mapped to the current row through the SourceColumn and SourceVersion properties of a .NET Framework data provider's Parameter class. SourceColumnhace referencia a DataTable una columna a DbDataAdapter la que hace referencia para obtener los valores de los parámetros de la fila actual.SourceColumn refers to a DataTable column that the DbDataAdapter references to obtain parameter values for the current row.

SourceColumnhace referencia al nombre de la columna no asignada antes de que se apliquen las asignaciones de tabla.SourceColumn refers to the unmapped column name before any table mappings have been applied. Si SourceColumn hace referencia a una columna que no existe, la acción tomada depende de uno de MissingMappingAction los valores siguientes.If SourceColumn refers to a nonexistent column, the action taken depends on one of the following MissingMappingAction values.

Valor de enumeraciónEnumeration value Acción realizadaAction taken
MissingMappingAction.Passthrough Use los nombres de las columnas de origen y los DataSet nombres de tabla en si no hay ninguna asignación.Use the source column names and table names in the DataSet if no mapping is present.
MissingMappingAction.Ignore Se SystemException genera un.A SystemException is generated. Cuando las asignaciones se establecen explícitamente, una asignación que falta para un parámetro de entrada suele ser el resultado de un error.When the mappings are explicitly set, a missing mapping for an input parameter is usually the result of an error.
MissingMappingAction.Error Se SystemException genera un.A SystemException is generated.

La SourceColumn propiedad también se utiliza para asignar el valor de los parámetros de salida o de entrada y salida DataSeta.The SourceColumn property is also used to map the value for output or input/output parameters back to the DataSet. Se genera una excepción si hace referencia a una columna que no existe.An exception is generated if it refers to a nonexistent column.

La SourceVersion propiedad de una clase de Parameter proveedor de datos de .NET Framework determina si se va a usar la versión original, actual o propuesta del valor de la columna.The SourceVersion property of a .NET Framework data provider's Parameter class determines whether to use the Original, Current, or Proposed version of the column value. Esta capacidad se usa a menudo para incluir valores originales en la cláusula WHERE de una instrucción UPDATE para comprobar las infracciones de simultaneidad optimista.This capability is often used to include original values in the WHERE clause of an UPDATE statement to check for optimistic concurrency violations.

Nota

Si se produce un error al actualizar una fila, se produce una excepción y se deja de ejecutar la actualización.If an error occurs while updating a row, an exception is thrown and execution of the update is discontinued. Para continuar con la operación de actualización sin generar excepciones cuando se produce un error, ContinueUpdateOnError establezca la true propiedad en Updateantes de llamar a.To continue the update operation without generating exceptions when an error is encountered, set the ContinueUpdateOnError property to true before calling Update. También puede responder a errores por fila dentro del RowUpdated evento de un DataAdapter.You may also respond to errors on a per-row basis within the RowUpdated event of a DataAdapter. Para continuar con la operación de actualización sin generar una excepción RowUpdated en el evento, Status establezca la propiedad RowUpdatedEventArgs de Continueen.To continue the update operation without generating an exception within the RowUpdated event, set the Status property of the RowUpdatedEventArgs to Continue.

Consulte también:

Update(DataRow[], DataTableMapping)

Actualiza los valores de la base de datos ejecutando las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en la matriz de objetos DataSet especificada.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified array of DataSet objects.

protected:
 virtual int Update(cli::array <System::Data::DataRow ^> ^ dataRows, System::Data::Common::DataTableMapping ^ tableMapping);
protected virtual int Update (System.Data.DataRow[] dataRows, System.Data.Common.DataTableMapping tableMapping);
override this.Update : System.Data.DataRow[] * System.Data.Common.DataTableMapping -> int
Protected Overridable Function Update (dataRows As DataRow(), tableMapping As DataTableMapping) As Integer

Parámetros

dataRows
DataRow[]

Matriz de objetos DataRow utilizada para actualizar el origen de datos.An array of DataRow objects used to update the data source.

tableMapping
DataTableMapping

Colección TableMappings que se va a utilizar.The TableMappings collection to use.

Devoluciones

Número de filas del DataSet actualizadas correctamente.The number of rows successfully updated from the DataSet.

Excepciones

DataSet no es válido.The DataSet is invalid.

La tabla de origen no es válida.The source table is invalid.

No existe ningún objeto DataRow que actualizar.No DataRow exists to update.

o bien-or- No existe ningún objeto DataTable que actualizar.No DataTable exists to update.

o bien-or- No existe ninguna clase DataSet que se vaya a utilizar como origen.No DataSet exists to use as a source.

El hecho de intentar ejecutar una instrucción INSERT, UPDATE o DELETE no ha afectado a ningún registro.An attempt to execute an INSERT, UPDATE, or DELETE statement resulted in zero records affected.

Comentarios

Cuando una aplicación llama al Update método DbDataAdapter , examina la RowState propiedad y ejecuta las instrucciones INSERT, Update o DELETE requeridas de forma iterativa para cada fila, según el orden de los índices configurados en el DataSet.When an application calls the Update method, the DbDataAdapter examines the RowState property, and executes the required INSERT, UPDATE, or DELETE statements iteratively for each row, based on the order of the indexes configured in the DataSet. Por ejemplo, Update podría ejecutar una instrucción Delete, seguida de una instrucción INSERT y, a continuación, otra instrucción Delete, debido al orden de las filas DataTablede.For example, Update might execute a DELETE statement, followed by an INSERT statement, and then another DELETE statement, due to the ordering of the rows in the DataTable.

Tenga en cuentan que estas instrucciones no se realizan como un proceso por lotes; cada fila se actualiza individualmente.It should be noted that these statements are not performed as a batch process; each row is updated individually. Una aplicación puede llamar GetChanges al método en situaciones en las que se debe controlar la secuencia de tipos de instrucción (por ejemplo, las inserciones antes de las actualizaciones).An application can call the GetChanges method in situations where you must control the sequence of statement types (for example, INSERTs before UPDATEs). Para obtener más información, vea Actualizar orígenes de datos con DataAdapters.For more information, see Updating Data Sources with DataAdapters.

Si no se han especificado las instrucciones INSERT, Update o DELETE, el Update método genera una excepción.If INSERT, UPDATE, or DELETE statements have not been specified, the Update method generates an exception. Sin embargo, puede crear un SqlCommandBuilder objeto OleDbCommandBuilder o para generar automáticamente instrucciones SQL para actualizaciones de tabla única si establece la SelectCommand propiedad de un proveedor de datos de .NET Framework.However, you can create a SqlCommandBuilder or OleDbCommandBuilder object to automatically generate SQL statements for single-table updates if you set the SelectCommand property of a .NET Framework data provider. A continuación, el CommandBuildergenera cualquier instrucción SQL adicional que no establezca.Then, any additional SQL statements that you do not set are generated by the CommandBuilder. Esta lógica de generación requiere que la información de la DataSetcolumna de clave esté presente en.This generation logic requires key column information to be present in the DataSet. Para obtener más información, consulte generar comandos con objetos CommandBuilder.For more information see Generating Commands with CommandBuilders.

El Update método recupera filas de la tabla enumerada en la primera asignación antes de realizar una actualización.The Update method retrieves rows from the table listed in the first mapping before performing an update. A continuación, actualiza la fila con el valor de la UpdatedRowSource propiedad. UpdateThe Update then refreshes the row using the value of the UpdatedRowSource property. Se omiten las filas adicionales devueltas.Any additional rows returned are ignored.

Una vez que los datos se vuelven a DataSetcargar en OnRowUpdated el, se genera el evento, lo que permite al usuario DataSet inspeccionar la fila reconciliada y los parámetros de salida devueltos por el comando.After any data is loaded back into the DataSet, the OnRowUpdated event is raised, allowing the user to inspect the reconciled DataSet row and any output parameters returned by the command. Después de que una fila se actualice correctamente, se aceptan los cambios en esa fila.After a row updates successfully, the changes to that row are accepted.

Al utilizar Update, el orden de ejecución es el siguiente:When using Update, the order of execution is as follows:

  1. Los valores de DataRow se mueven a los valores de parámetro.The values in the DataRow are moved to the parameter values.

  2. Se genera el evento OnRowUpdating.The OnRowUpdating event is raised.

  3. Se ejecuta el comando.The command executes.

  4. Si el comando se establece en FirstReturnedRecord, el primer resultado devuelto se coloca DataRowen.If the command is set to FirstReturnedRecord, then the first returned result is placed in the DataRow.

  5. Si hay parámetros de salida, se colocan en DataRowel.If there are output parameters, they are placed in the DataRow.

  6. Se genera el evento OnRowUpdated.The OnRowUpdated event is raised.

  7. Se llama a AcceptChanges.AcceptChanges is called.

Cada comando asociado DbDataAdapter a normalmente tiene una colección de parámetros asociada.Each command associated with the DbDataAdapter usually has a parameters collection associated with it. Los parámetros se asignan a la fila actual SourceColumn a SourceVersion través de las propiedades y de una Parameter clase de proveedor de datos de .NET Framework.Parameters are mapped to the current row through the SourceColumn and SourceVersion properties of a .NET Framework data provider's Parameter class. SourceColumnhace referencia a DataTable una columna a DbDataAdapter la que hace referencia para obtener los valores de los parámetros de la fila actual.SourceColumn refers to a DataTable column that the DbDataAdapter references to obtain parameter values for the current row.

SourceColumnhace referencia al nombre de la columna no asignada antes de que se apliquen las asignaciones de tabla.SourceColumn refers to the unmapped column name before any table mappings have been applied. Si SourceColumn hace referencia a una columna que no existe, la acción tomada depende de uno de MissingMappingAction los valores siguientes.If SourceColumn refers to a nonexistent column, the action taken depends on one of the following MissingMappingAction values.

Valor de enumeraciónEnumeration value Acción realizadaAction taken
MissingMappingAction.Passthrough Use los nombres de las columnas de origen y los DataSet nombres de tabla en si no hay ninguna asignación.Use the source column names and table names in the DataSet if no mapping is present.
MissingMappingAction.Ignore Se SystemException genera un.A SystemException is generated. Cuando las asignaciones se establecen explícitamente, una asignación que falta para un parámetro de entrada suele ser el resultado de un error.When the mappings are explicitly set, a missing mapping for an input parameter is usually the result of an error.
MissingMappingAction.Error Se SystemException genera un.A SystemException is generated.

La SourceColumn propiedad también se utiliza para asignar el valor de los parámetros de salida o de entrada y salida DataSeta.The SourceColumn property is also used to map the value for output or input/output parameters back to the DataSet. Se genera una excepción si hace referencia a una columna que no existe.An exception is generated if it refers to a nonexistent column.

La SourceVersion propiedad de una clase de Parameter proveedor de datos de .NET Framework determina si se va a usar la versión original, actual o propuesta del valor de la columna.The SourceVersion property of a .NET Framework data provider's Parameter class determines whether to use the Original, Current, or Proposed version of the column value. Esta capacidad se usa a menudo para incluir valores originales en la cláusula WHERE de una instrucción UPDATE para comprobar las infracciones de simultaneidad optimista.This capability is often used to include original values in the WHERE clause of an UPDATE statement to check for optimistic concurrency violations.

Nota

Si se produce un error al actualizar una fila, se produce una excepción y se deja de ejecutar la actualización.If an error occurs while updating a row, an exception is thrown and execution of the update is discontinued. Para continuar con la operación de actualización sin generar excepciones cuando se produce un error, ContinueUpdateOnError establezca la true propiedad en Updateantes de llamar a.To continue the update operation without generating exceptions when an error is encountered, set the ContinueUpdateOnError property to true before calling Update. También puede responder a errores por fila dentro del RowUpdated evento de un DataAdapter.You may also respond to errors on a per-row basis within the RowUpdated event of a DataAdapter. Para continuar con la operación de actualización sin generar una excepción RowUpdated en el evento, Status establezca la propiedad RowUpdatedEventArgs de Continueen.To continue the update operation without generating an exception within the RowUpdated event, set the Status property of the RowUpdatedEventArgs to Continue.

Consulte también:

Update(DataTable)

Actualiza los valores de la base de datos ejecutando las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en los objetos DataTable especificados.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified DataTable.

public:
 int Update(System::Data::DataTable ^ dataTable);
public int Update (System.Data.DataTable dataTable);
override this.Update : System.Data.DataTable -> int

Parámetros

dataTable
DataTable

Clase DataTable que se utiliza para actualizar el origen de datos.The DataTable used to update the data source.

Devoluciones

Número de filas del DataTable actualizadas correctamente.The number of rows successfully updated from the DataTable.

Excepciones

DataSet no es válido.The DataSet is invalid.

La tabla de origen no es válida.The source table is invalid.

No existe ningún objeto DataRow que actualizar.No DataRow exists to update.

O bien-or- No existe ningún objeto DataTable que actualizar.No DataTable exists to update.

O bien-or- No existe ninguna clase DataSet que se vaya a utilizar como origen.No DataSet exists to use as a source.

El hecho de intentar ejecutar una instrucción INSERT, UPDATE o DELETE no ha afectado a ningún registro.An attempt to execute an INSERT, UPDATE, or DELETE statement resulted in zero records affected.

Ejemplos

En el ejemplo siguiente se usa la clase OleDbDataAdapterderivada,, para actualizar el origen de datos.The following example uses the derived class, OleDbDataAdapter, to update the data source.

public DataTable CreateCmdsAndUpdate(string connectionString,
    string queryString) 
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand(queryString, connection);
        OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);

        connection.Open();

        DataTable customers = new DataTable();
        adapter.Fill(customers);

        // code to modify data in DataTable here

        adapter.Update(customers);

        return customers;
    }
}

Public Function CreateCmdsAndUpdate(ByVal connectionString As String, _
    ByVal queryString As String) As DataTable

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter()
        adapter.SelectCommand = New OleDbCommand(queryString, connection)
        Dim builder As New OleDbCommandBuilder(adapter)

        connection.Open()

        Dim customers As New DataTable()
        adapter.Fill(customers)

        ' Code to modify data in DataTable here 

        adapter.Update(customers)
        Return customers
    End Using
End Function

Comentarios

Cuando una aplicación llama al Update método DbDataAdapter , examina la RowState propiedad y ejecuta las instrucciones INSERT, Update o DELETE requeridas de forma iterativa para cada fila, según el orden de los índices configurados en el DataSet.When an application calls the Update method, the DbDataAdapter examines the RowState property, and executes the required INSERT, UPDATE, or DELETE statements iteratively for each row, based on the order of the indexes configured in the DataSet. Por ejemplo, Update podría ejecutar una instrucción Delete, seguida de una instrucción INSERT y, a continuación, otra instrucción Delete, debido al orden de las filas DataTablede.For example, Update might execute a DELETE statement, followed by an INSERT statement, and then another DELETE statement, due to the ordering of the rows in the DataTable.

Tenga en cuentan que estas instrucciones no se realizan como un proceso por lotes; cada fila se actualiza individualmente.It should be noted that these statements are not performed as a batch process; each row is updated individually. Una aplicación puede llamar GetChanges al método en situaciones en las que se debe controlar la secuencia de tipos de instrucción (por ejemplo, las inserciones antes de las actualizaciones).An application can call the GetChanges method in situations where you must control the sequence of statement types (for example, INSERTs before UPDATEs). Para obtener más información, vea Actualizar orígenes de datos con DataAdapters.For more information, see Updating Data Sources with DataAdapters.

Si no se han especificado las instrucciones INSERT, Update o DELETE, el Update método genera una excepción.If INSERT, UPDATE, or DELETE statements have not been specified, the Update method generates an exception. Sin embargo, puede crear un SqlCommandBuilder objeto OleDbCommandBuilder o para generar automáticamente instrucciones SQL para actualizaciones de tabla única si establece la SelectCommand propiedad de un proveedor de datos de .NET Framework.However, you can create a SqlCommandBuilder or OleDbCommandBuilder object to automatically generate SQL statements for single-table updates if you set the SelectCommand property of a .NET Framework data provider. A continuación, el CommandBuildergenera cualquier instrucción SQL adicional que no establezca.Then, any additional SQL statements that you do not set are generated by the CommandBuilder. Esta lógica de generación requiere que la información de la DataSetcolumna de clave esté presente en.This generation logic requires key column information to be present in the DataSet. Para obtener más información, consulte generar comandos con objetos CommandBuilder.For more information see Generating Commands with CommandBuilders.

El Update método recupera filas de la tabla enumerada en la primera asignación antes de realizar una actualización.The Update method retrieves rows from the table listed in the first mapping before performing an update. A continuación, actualiza la fila con el valor de la UpdatedRowSource propiedad. UpdateThe Update then refreshes the row using the value of the UpdatedRowSource property. Se omiten las filas adicionales devueltas.Any additional rows returned are ignored.

Una vez que los datos se vuelven a DataSetcargar en OnRowUpdated el, se genera el evento, lo que permite al usuario DataSet inspeccionar la fila reconciliada y los parámetros de salida devueltos por el comando.After any data is loaded back into the DataSet, the OnRowUpdated event is raised, allowing the user to inspect the reconciled DataSet row and any output parameters returned by the command. Después de que una fila se actualice correctamente, se aceptan los cambios en esa fila.After a row updates successfully, the changes to that row are accepted.

Al utilizar Update, el orden de ejecución es el siguiente:When using Update, the order of execution is as follows:

  1. Los valores de DataRow se mueven a los valores de parámetro.The values in the DataRow are moved to the parameter values.

  2. Se genera el evento OnRowUpdating.The OnRowUpdating event is raised.

  3. Se ejecuta el comando.The command executes.

  4. Si el comando se establece en FirstReturnedRecord, el primer resultado devuelto se coloca DataRowen.If the command is set to FirstReturnedRecord, then the first returned result is placed in the DataRow.

  5. Si hay parámetros de salida, se colocan en DataRowel.If there are output parameters, they are placed in the DataRow.

  6. Se genera el evento OnRowUpdated.The OnRowUpdated event is raised.

  7. Se llama a AcceptChanges.AcceptChanges is called.

Cada comando asociado DbDataAdapter a normalmente tiene una colección de parámetros asociada.Each command associated with the DbDataAdapter usually has a parameters collection associated with it. Los parámetros se asignan a la fila actual SourceColumn a SourceVersion través de las propiedades y de una Parameter clase de proveedor de datos de .NET Framework.Parameters are mapped to the current row through the SourceColumn and SourceVersion properties of a .NET Framework data provider's Parameter class. SourceColumnhace referencia a DataTable una columna a DbDataAdapter la que hace referencia para obtener los valores de los parámetros de la fila actual.SourceColumn refers to a DataTable column that the DbDataAdapter references to obtain parameter values for the current row.

SourceColumnhace referencia al nombre de la columna no asignada antes de que se apliquen las asignaciones de tabla.SourceColumn refers to the unmapped column name before any table mappings have been applied. Si SourceColumn hace referencia a una columna que no existe, la acción tomada depende de uno de MissingMappingAction los valores siguientes.If SourceColumn refers to a nonexistent column, the action taken depends on one of the following MissingMappingAction values.

Valor de enumeraciónEnumeration value Acción realizadaAction taken
MissingMappingAction.Passthrough Use los nombres de las columnas de origen y los DataSet nombres de tabla en si no hay ninguna asignación.Use the source column names and table names in the DataSet if no mapping is present.
MissingMappingAction.Ignore Se SystemException genera un.A SystemException is generated. Cuando las asignaciones se establecen explícitamente, una asignación que falta para un parámetro de entrada suele ser el resultado de un error.When the mappings are explicitly set, a missing mapping for an input parameter is usually the result of an error.
MissingMappingAction.Error Se SystemException genera un.A SystemException is generated.

La SourceColumn propiedad también se utiliza para asignar el valor de los parámetros de salida o de entrada y salida DataSeta.The SourceColumn property is also used to map the value for output or input/output parameters back to the DataSet. Se genera una excepción si hace referencia a una columna que no existe.An exception is generated if it refers to a nonexistent column.

La SourceVersion propiedad de una clase de Parameter proveedor de datos de .NET Framework determina si se va a usar la versión original, actual o propuesta del valor de la columna.The SourceVersion property of a .NET Framework data provider's Parameter class determines whether to use the Original, Current, or Proposed version of the column value. Esta capacidad se usa a menudo para incluir valores originales en la cláusula WHERE de una instrucción UPDATE para comprobar las infracciones de simultaneidad optimista.This capability is often used to include original values in the WHERE clause of an UPDATE statement to check for optimistic concurrency violations.

Nota

Si se produce un error al actualizar una fila, se produce una excepción y se deja de ejecutar la actualización.If an error occurs while updating a row, an exception is thrown and execution of the update is discontinued. Para continuar con la operación de actualización sin generar excepciones cuando se produce un error, ContinueUpdateOnError establezca la true propiedad en Updateantes de llamar a.To continue the update operation without generating exceptions when an error is encountered, set the ContinueUpdateOnError property to true before calling Update. También puede responder a errores por fila dentro del RowUpdated evento de un DataAdapter.You may also respond to errors on a per-row basis within the RowUpdated event of a DataAdapter. Para continuar con la operación de actualización sin generar una excepción RowUpdated en el evento, Status establezca la propiedad RowUpdatedEventArgs de Continueen.To continue the update operation without generating an exception within the RowUpdated event, set the Status property of the RowUpdatedEventArgs to Continue.

Consulte también:

Update(DataSet)

Actualiza los valores de la base de datos ejecutando las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en los objetos DataSet especificados.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified DataSet.

public:
 override int Update(System::Data::DataSet ^ dataSet);
public override int Update (System.Data.DataSet dataSet);
override this.Update : System.Data.DataSet -> int

Parámetros

dataSet
DataSet

Clase DataSet que se utiliza para actualizar el origen de datos.The DataSet used to update the data source.

Devoluciones

Número de filas del DataSet actualizadas correctamente.The number of rows successfully updated from the DataSet.

Implementaciones

Excepciones

La tabla de origen no es válida.The source table is invalid.

El hecho de intentar ejecutar una instrucción INSERT, UPDATE o DELETE no ha afectado a ningún registro.An attempt to execute an INSERT, UPDATE, or DELETE statement resulted in zero records affected.

Ejemplos

En el ejemplo siguiente se usa la clase OleDbDataAdapterderivada,, para actualizar el origen de datos.The following example uses the derived class, OleDbDataAdapter, to update the data source.

public DataSet CreateCmdsAndUpdate(string connectionString,
    string queryString)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand(queryString, connection);
        OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);

        connection.Open();

        DataSet customers = new DataSet();
        adapter.Fill(customers);

        //code to modify data in dataset here

        adapter.Update(customers);

        return customers;
    }
}
Public Function CreateCmdsAndUpdate(ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter()
        adapter.SelectCommand = New OleDbCommand(queryString, connection)
        Dim builder As New OleDbCommandBuilder(adapter)

        connection.Open()

        Dim customers As New DataSet()
        adapter.Fill(customers)

        ' Code to modify data in DataSet here 

        adapter.Update(customers)

        Return customers
    End Using
End Function

Comentarios

Cuando una aplicación llama al Update método DbDataAdapter , examina la RowState propiedad y ejecuta las instrucciones INSERT, Update o DELETE requeridas de forma iterativa para cada fila, según el orden de los índices configurados en el DataSet.When an application calls the Update method, the DbDataAdapter examines the RowState property, and executes the required INSERT, UPDATE, or DELETE statements iteratively for each row, based on the order of the indexes configured in the DataSet. Por ejemplo, Update podría ejecutar una instrucción Delete, seguida de una instrucción INSERT y, a continuación, otra instrucción Delete, debido al orden de las filas DataTablede.For example, Update might execute a DELETE statement, followed by an INSERT statement, and then another DELETE statement, due to the ordering of the rows in the DataTable.

Tenga en cuentan que estas instrucciones no se realizan como un proceso por lotes; cada fila se actualiza individualmente.It should be noted that these statements are not performed as a batch process; each row is updated individually. Una aplicación puede llamar GetChanges al método en situaciones en las que se debe controlar la secuencia de tipos de instrucción (por ejemplo, las inserciones antes de las actualizaciones).An application can call the GetChanges method in situations where you must control the sequence of statement types (for example, INSERTs before UPDATEs). Para obtener más información, vea Actualizar orígenes de datos con DataAdapters.For more information, see Updating Data Sources with DataAdapters.

Si no se han especificado las instrucciones INSERT, Update o DELETE, el Update método genera una excepción.If INSERT, UPDATE, or DELETE statements have not been specified, the Update method generates an exception. Sin embargo, puede crear un SqlCommandBuilder objeto OleDbCommandBuilder o para generar automáticamente instrucciones SQL para actualizaciones de tabla única si establece la SelectCommand propiedad de un proveedor de datos de .NET Framework.However, you can create a SqlCommandBuilder or OleDbCommandBuilder object to automatically generate SQL statements for single-table updates if you set the SelectCommand property of a .NET Framework data provider. A continuación, el CommandBuildergenera cualquier instrucción SQL adicional que no establezca.Then, any additional SQL statements that you do not set are generated by the CommandBuilder. Esta lógica de generación requiere que la información de la DataSetcolumna de clave esté presente en.This generation logic requires key column information to be present in the DataSet. Para obtener más información, consulte generar comandos con objetos CommandBuilder.For more information see Generating Commands with CommandBuilders.

El Update método recupera filas de la tabla enumerada en la primera asignación antes de realizar una actualización.The Update method retrieves rows from the table listed in the first mapping before performing an update. A continuación, actualiza la fila con el valor de la UpdatedRowSource propiedad. UpdateThe Update then refreshes the row using the value of the UpdatedRowSource property. Se omiten las filas adicionales devueltas.Any additional rows returned are ignored.

Una vez que los datos se vuelven a DataSetcargar en OnRowUpdated el, se genera el evento, lo que permite al usuario DataSet inspeccionar la fila reconciliada y los parámetros de salida devueltos por el comando.After any data is loaded back into the DataSet, the OnRowUpdated event is raised, allowing the user to inspect the reconciled DataSet row and any output parameters returned by the command. Después de que una fila se actualice correctamente, se aceptan los cambios en esa fila.After a row updates successfully, the changes to that row are accepted.

Al utilizar Update, el orden de ejecución es el siguiente:When using Update, the order of execution is as follows:

  1. Los valores de DataRow se mueven a los valores de parámetro.The values in the DataRow are moved to the parameter values.

  2. Se genera el evento OnRowUpdating.The OnRowUpdating event is raised.

  3. Se ejecuta el comando.The command executes.

  4. Si el comando se establece en FirstReturnedRecord, el primer resultado devuelto se coloca DataRowen.If the command is set to FirstReturnedRecord, then the first returned result is placed in the DataRow.

  5. Si hay parámetros de salida, se colocan en DataRowel.If there are output parameters, they are placed in the DataRow.

  6. Se genera el evento OnRowUpdated.The OnRowUpdated event is raised.

  7. Se llama a AcceptChanges.AcceptChanges is called.

Cada comando asociado DbDataAdapter a normalmente tiene una colección de parámetros asociada.Each command associated with the DbDataAdapter usually has a parameters collection associated with it. Los parámetros se asignan a la fila actual SourceColumn a SourceVersion través de las propiedades y de una Parameter clase de proveedor de datos de .NET Framework.Parameters are mapped to the current row through the SourceColumn and SourceVersion properties of a .NET Framework data provider's Parameter class. SourceColumnhace referencia a DataTable una columna a DbDataAdapter la que hace referencia para obtener los valores de los parámetros de la fila actual.SourceColumn refers to a DataTable column that the DbDataAdapter references to obtain parameter values for the current row.

SourceColumnhace referencia al nombre de la columna no asignada antes de que se apliquen las asignaciones de tabla.SourceColumn refers to the unmapped column name before any table mappings have been applied. Si SourceColumn hace referencia a una columna que no existe, la acción tomada depende de uno de MissingMappingAction los valores siguientes.If SourceColumn refers to a nonexistent column, the action taken depends on one of the following MissingMappingAction values.

Valor de enumeraciónEnumeration value Acción realizadaAction taken
MissingMappingAction.Passthrough Use los nombres de las columnas de origen y los DataSet nombres de tabla en si no hay ninguna asignación.Use the source column names and table names in the DataSet if no mapping is present.
MissingMappingAction.Ignore Se SystemException genera un.A SystemException is generated. Cuando las asignaciones se establecen explícitamente, una asignación que falta para un parámetro de entrada suele ser el resultado de un error.When the mappings are explicitly set, a missing mapping for an input parameter is usually the result of an error.
MissingMappingAction.Error Se SystemException genera un.A SystemException is generated.

La SourceColumn propiedad también se utiliza para asignar el valor de los parámetros de salida o de entrada y salida DataSeta.The SourceColumn property is also used to map the value for output or input/output parameters back to the DataSet. Se genera una excepción si hace referencia a una columna que no existe.An exception is generated if it refers to a nonexistent column.

La SourceVersion propiedad de una clase de Parameter proveedor de datos de .NET Framework determina si se va a usar la versión original, actual o propuesta del valor de la columna.The SourceVersion property of a .NET Framework data provider's Parameter class determines whether to use the Original, Current, or Proposed version of the column value. Esta capacidad se usa a menudo para incluir valores originales en la cláusula WHERE de una instrucción UPDATE para comprobar las infracciones de simultaneidad optimista.This capability is often used to include original values in the WHERE clause of an UPDATE statement to check for optimistic concurrency violations.

Nota

Si se produce un error al actualizar una fila, se produce una excepción y se deja de ejecutar la actualización.If an error occurs while updating a row, an exception is thrown and execution of the update is discontinued. Para continuar con la operación de actualización sin generar excepciones cuando se produce un error, ContinueUpdateOnError establezca la true propiedad en Updateantes de llamar a.To continue the update operation without generating exceptions when an error is encountered, set the ContinueUpdateOnError property to true before calling Update. También puede responder a errores por fila dentro del RowUpdated evento de un DataAdapter.You may also respond to errors on a per-row basis within the RowUpdated event of a DataAdapter. Para continuar con la operación de actualización sin generar una excepción RowUpdated en el evento, Status establezca la propiedad RowUpdatedEventArgs de Continueen.To continue the update operation without generating an exception within the RowUpdated event, set the Status property of the RowUpdatedEventArgs to Continue.

Consulte también:

Update(DataRow[])

Actualiza los valores de la base de datos ejecutando las instrucciones INSERT, UPDATE o DELETE respectivas para cada fila insertada, actualizada o eliminada en la matriz especificada en DataSet.Updates the values in the database by executing the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified array in the DataSet.

public:
 int Update(cli::array <System::Data::DataRow ^> ^ dataRows);
public int Update (System.Data.DataRow[] dataRows);
override this.Update : System.Data.DataRow[] -> int
Public Function Update (dataRows As DataRow()) As Integer

Parámetros

dataRows
DataRow[]

Matriz de objetos DataRow utilizada para actualizar el origen de datos.An array of DataRow objects used to update the data source.

Devoluciones

Número de filas del DataSet actualizadas correctamente.The number of rows successfully updated from the DataSet.

Excepciones

DataSet no es válido.The DataSet is invalid.

La tabla de origen no es válida.The source table is invalid.

No existe ningún objeto DataRow que actualizar.No DataRow exists to update.

o bien-or- No existe ningún objeto DataTable que actualizar.No DataTable exists to update.

o bien-or- No existe ninguna clase DataSet que se vaya a utilizar como origen.No DataSet exists to use as a source.

El hecho de intentar ejecutar una instrucción INSERT, UPDATE o DELETE no ha afectado a ningún registro.An attempt to execute an INSERT, UPDATE, or DELETE statement resulted in zero records affected.

Ejemplos

En el ejemplo siguiente se usa la clase OleDbDataAdapterderivada,, para actualizar el origen de datos.The following example uses the derived class, OleDbDataAdapter, to update the data source.

public DataSet CreateCmdsAndUpdate(string connectionString,
    string queryString) 
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter = new OleDbDataAdapter();
        adapter.SelectCommand = new OleDbCommand(queryString, connection);
        OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);

        connection.Open();

        DataSet customers = new DataSet();
        adapter.Fill(customers);

        //code to modify data in dataset here

        //Insert new records from DataSet
        DataRow[] rows = customers.Tables[0].Select(
            null, null, DataViewRowState.Added);
        adapter.Update(rows);

        return customers;
    }
}
Public Function CreateCmdsAndUpdate(ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter()
        adapter.SelectCommand = New OleDbCommand(queryString, connection)
        Dim builder As New OleDbCommandBuilder(adapter)

        connection.Open()

        Dim customers As New DataSet()
        adapter.Fill(customers)

        ' Code to modify data in DataSet here 

        ' Insert new records from DataSet
        Dim rows() As DataRow = customers.Tables(0).Select( _
            Nothing, Nothing, DataViewRowState.Added)
        adapter.Update(rows)

        Return customers
    End Using
End Function

Comentarios

Cuando una aplicación llama al Update método DbDataAdapter , examina la RowState propiedad y ejecuta las instrucciones INSERT, Update o DELETE requeridas de forma iterativa para cada fila, según el orden de los índices configurados en el DataSet.When an application calls the Update method, the DbDataAdapter examines the RowState property, and executes the required INSERT, UPDATE, or DELETE statements iteratively for each row, based on the order of the indexes configured in the DataSet. Por ejemplo, Update podría ejecutar una instrucción Delete, seguida de una instrucción INSERT y, a continuación, otra instrucción Delete, debido al orden de las filas DataTablede.For example, Update might execute a DELETE statement, followed by an INSERT statement, and then another DELETE statement, due to the ordering of the rows in the DataTable.

Tenga en cuentan que estas instrucciones no se realizan como un proceso por lotes; cada fila se actualiza individualmente.It should be noted that these statements are not performed as a batch process; each row is updated individually. Una aplicación puede llamar GetChanges al método en situaciones en las que se debe controlar la secuencia de tipos de instrucción (por ejemplo, las inserciones antes de las actualizaciones).An application can call the GetChanges method in situations where you must control the sequence of statement types (for example, INSERTs before UPDATEs). Para obtener más información, vea Actualizar orígenes de datos con DataAdapters.For more information, see Updating Data Sources with DataAdapters.

Si no se han especificado las instrucciones INSERT, Update o DELETE, el Update método genera una excepción.If INSERT, UPDATE, or DELETE statements have not been specified, the Update method generates an exception. Sin embargo, puede crear un SqlCommandBuilder objeto OleDbCommandBuilder o para generar automáticamente instrucciones SQL para actualizaciones de tabla única si establece la SelectCommand propiedad de un proveedor de datos de .NET Framework.However, you can create a SqlCommandBuilder or OleDbCommandBuilder object to automatically generate SQL statements for single-table updates if you set the SelectCommand property of a .NET Framework data provider. A continuación, el CommandBuildergenera cualquier instrucción SQL adicional que no establezca.Then, any additional SQL statements that you do not set are generated by the CommandBuilder. Esta lógica de generación requiere que la información de la DataSetcolumna de clave esté presente en.This generation logic requires key column information to be present in the DataSet. Para obtener más información, consulte generar comandos con objetos CommandBuilder.For more information see Generating Commands with CommandBuilders.

El Update método recupera filas de la tabla enumerada en la primera asignación antes de realizar una actualización.The Update method retrieves rows from the table listed in the first mapping before performing an update. A continuación, actualiza la fila con el valor de la UpdatedRowSource propiedad. UpdateThe Update then refreshes the row using the value of the UpdatedRowSource property. Se omiten las filas adicionales devueltas.Any additional rows returned are ignored.

Una vez que los datos se vuelven a DataSetcargar en OnRowUpdated el, se genera el evento, lo que permite al usuario DataSet inspeccionar la fila reconciliada y los parámetros de salida devueltos por el comando.After any data is loaded back into the DataSet, the OnRowUpdated event is raised, allowing the user to inspect the reconciled DataSet row and any output parameters returned by the command. Después de que una fila se actualice correctamente, se aceptan los cambios en esa fila.After a row updates successfully, the changes to that row are accepted.

Al utilizar Update, el orden de ejecución es el siguiente:When using Update, the order of execution is as follows:

  1. Los valores de DataRow se mueven a los valores de parámetro.The values in the DataRow are moved to the parameter values.

  2. Se genera el evento OnRowUpdating.The OnRowUpdating event is raised.

  3. Se ejecuta el comando.The command executes.

  4. Si el comando se establece en FirstReturnedRecord, el primer resultado devuelto se coloca DataRowen.If the command is set to FirstReturnedRecord, the first returned result is placed in the DataRow.

  5. Si hay parámetros de salida, se colocan en DataRowel.If there are output parameters, they are placed in the DataRow.

  6. Se genera el evento OnRowUpdated.The OnRowUpdated event is raised.

  7. Se llama a AcceptChanges.AcceptChanges is called.

Cada comando asociado DbDataAdapter a normalmente tiene una colección de parámetros asociada.Each command associated with the DbDataAdapter usually has a parameters collection associated with it. Los parámetros se asignan a la fila actual SourceColumn a SourceVersion través de las propiedades y de una Parameter clase de proveedor de datos de .NET Framework.Parameters are mapped to the current row through the SourceColumn and SourceVersion properties of a .NET Framework data provider's Parameter class. SourceColumnhace referencia a DataTable una columna a DbDataAdapter la que hace referencia para obtener los valores de los parámetros de la fila actual.SourceColumn refers to a DataTable column that the DbDataAdapter references to obtain parameter values for the current row.

SourceColumnhace referencia al nombre de la columna no asignada antes de que se apliquen las asignaciones de tabla.SourceColumn refers to the unmapped column name before any table mappings have been applied. Si SourceColumn hace referencia a una columna que no existe, la acción tomada depende de uno de MissingMappingAction los valores siguientes.If SourceColumn refers to a nonexistent column, the action taken depends on one of the following MissingMappingAction values.

Valor de enumeraciónEnumeration value Acción realizadaAction taken
MissingMappingAction.Passthrough Use los nombres de las columnas de origen y los DataSet nombres de tabla en si no hay ninguna asignación.Use the source column names and table names in the DataSet if no mapping is present.
MissingMappingAction.Ignore Se SystemException genera un.A SystemException is generated. Cuando las asignaciones se establecen explícitamente, una asignación que falta para un parámetro de entrada suele ser el resultado de un error.When the mappings are explicitly set, a missing mapping for an input parameter is usually the result of an error.
MissingMappingAction.Error Se SystemException genera un.A SystemException is generated.

La SourceColumn propiedad también se utiliza para asignar el valor de los parámetros de salida o de entrada y salida DataSeta.The SourceColumn property is also used to map the value for output or input/output parameters back to the DataSet. Se genera una excepción si hace referencia a una columna que no existe.An exception is generated if it refers to a nonexistent column.

La SourceVersion propiedad de una clase de Parameter proveedor de datos de .NET Framework determina si se va a usar la versión original, actual o propuesta del valor de la columna.The SourceVersion property of a .NET Framework data provider's Parameter class determines whether to use the Original, Current, or Proposed version of the column value. Esta capacidad se usa a menudo para incluir valores originales en la cláusula WHERE de una instrucción UPDATE para comprobar las infracciones de simultaneidad optimista.This capability is often used to include original values in the WHERE clause of an UPDATE statement to check for optimistic concurrency violations.

Nota

Si se produce un error al actualizar una fila, se produce una excepción y se deja de ejecutar la actualización.If an error occurs while updating a row, an exception is thrown and execution of the update is discontinued. Para continuar con la operación de actualización sin generar excepciones cuando se produce un error, ContinueUpdateOnError establezca la true propiedad en Updateantes de llamar a.To continue the update operation without generating exceptions when an error is encountered, set the ContinueUpdateOnError property to true before calling Update. También puede responder a errores por fila dentro del RowUpdated evento de un DataAdapter.You may also respond to errors on a per-row basis within the RowUpdated event of a DataAdapter. Para continuar con la operación de actualización sin generar una excepción RowUpdated en el evento, Status establezca la propiedad RowUpdatedEventArgs de Continueen.To continue the update operation without generating an exception within the RowUpdated event, set the Status property of the RowUpdatedEventArgs to Continue.

Consulte también:

Se aplica a