Update(DataSet, String)

Метод выполняет необходимые операторы (INSERT, UPDATE или DELETE) для изменения строк в указанной таблице объекта DataSet.

Указанные операторы должны быть явно прописаны в соответствующих свойствах объекта DbDataAdapter (InsertCommand, UpdateCommand, DeleteCommand), либо сконструированы с помощью класса DbCommandBuilder.

Подробное описание см. в подпункте «Update(DataRow[])».

Синтаксис
public int Update(DataSet dataSet,  string srcTable);

dataSet – объект DataSet, используемый для обновления источника данных.

srcTable – имя таблицы в источнике данных, используемой для обновления данных.

Возвращаемое значение

Количество строк, успешно обновленных в источнике данных из объекта DataSet.

Исключения
ArgumentNullException Объект DataSet является недопустимым.
InvalidOperationException Исходная таблица является недопустимой.
DBConcurrencyException Попытка выполнить оператор INSERT, UPDATE или DELETE привела к нулевому количеству обработанных записей.
LinterSqlException Код завершения СУБД ЛИНТЕР не равен 0.
Пример
// C#
using System;
using System.Data;
using System.Data.Common;

class UpdateSample
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Соединение с БД
    DbConnection con = factory.CreateConnection();
    con.ConnectionString =
      "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8";
    // Создание таблицы БД
    DbCommand cmd = factory.CreateCommand();
    cmd.Connection = con;
    cmd.CommandText =
      "create or replace table users ( " +
      "id integer primary key, name varchar(70));" +
      "insert into users (id, name) values (0, 'Пользователь A');" +
      "insert into users (id, name) values (1, 'Пользователь B');";
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    // Создание команды для выборки записей
    DbCommand selectCommand = factory.CreateCommand();
    selectCommand.Connection = con;
    selectCommand.CommandText =
      "select id, name from users";
    // Создание объекта DbDataAdapter
    DbDataAdapter adapter = factory.CreateDataAdapter();
    adapter.SelectCommand = selectCommand;
    // Создание объекта DbCommandBuilder
    DbCommandBuilder builder = factory.CreateCommandBuilder();
    builder.DataAdapter = adapter;
    // Заполнение объекта DataSet данными из БД
    DataSet dataset = new DataSet();
    adapter.Fill(dataset);
    // Изменение записей в таблице DataTable
    dataset.Tables[0].Rows[0]["name"] = "Новый Пользователь A";
    dataset.Tables[0].Rows[1].Delete();
    dataset.Tables[0].Rows.Add(2, "Пользователь X");
    // Обновление БД
    adapter.Update(dataset, "Table");
    // Отображение таблицы после обновления
    Console.WriteLine("Строки таблицы после обновления:");
    foreach (DataRow row in dataset.Tables[0].Rows)
    {
      Console.WriteLine("{0}: '{1}' ", row[0], row[1]);
    }
  }
}