Está en la página 1de 1

OleDbCommandBuilder

OleDbDataAdapter no genera automáticamente las instrucciones SQL necesarias para reconciliar los
cambios realizados en DataSet con el origen de datos asociado. Sin embargo, se puede crear un
objeto OleDbCommandBuilder para generar automáticamente instrucciones SQL para las
actualizaciones de tabla única si se establece la propiedad SelectCommand de OleDbDataAdapter.
Así, OleDbCommandBuilder genera las instrucciones SQL que no se establezcan.

Para generar instrucciones INSERT, UPDATE o DELETE, OleDbCommandBuilder utiliza la propiedad


SelectCommand con el fin de recuperar automáticamente un conjunto de metadatos requerido. Si
se cambia SelectCommand una vez que se han recuperado los metadatos, como tras la primera
actualización, se debe llamar al método RefreshSchema para actualizar los metadatos. En caso
contrario, las propiedades InsertCommand, UpdateCommand y DeleteCommand conservan sus
valores anteriores.

Si se llama a Dispose, se elimina la asociación de OleDbCommandBuilder con OleDbDataAdapter


y los comandos generados se dejan de utilizar.

public static DataSet UpdateRows(string connectionString,


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

connection.Open();

adapter.Fill(dataSet, tableName);

//code to modify data in DataSet here

//Without the OleDbCommandBuilder this line would fail


adapter.Update(dataSet, tableName);

connection.Close();
}
return dataSet;
}

También podría gustarte