Поделиться через


Обновление данных с помощью TableAdapter в приложениях платформа .NET Framework

Примечание.

Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Они особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.

После изменения и проверки данных в набор данных можно отправить обновленные данные обратно в базу данных, вызвав Update метод TableAdapter. Метод Update обновляет одну таблицу данных и выполняет правильную команду (INSERTилиUPDATEDELETE) на RowState основе каждой строки данных в таблице. Если набор данных содержит связанные таблицы, Visual Studio создает класс TableAdapterManager, используемый для выполнения обновлений. Класс TableAdapterManager гарантирует, что обновления выполняются в правильном порядке на основе ограничений внешнего ключа, определенных в базе данных. При использовании элементов управления с привязкой к данным архитектура привязки данных создает переменную-член класса TableAdapterManager с именем tableAdapterManager.

Примечание.

При попытке обновить источник данных с содержимым набора данных можно получить ошибки. Чтобы избежать ошибок, рекомендуется поместить код, вызывающий метод адаптера Update в try/catch блоке.

Точную процедуру обновления источника данных можно изменить в зависимости от бизнес-потребностей, но включает следующие действия.

  1. Вызовите метод адаптера Update в блоке try/catch .

  2. Если обнаружено исключение, найдите строку данных, вызвавшей ошибку.

  3. Примирите проблему в строке данных (программным способом, если вы можете, или путем представления недопустимой строки пользователю для изменения), а затем повторите попытку обновления (HasErrors, GetErrors).

Сохранение данных в базу данных

Update Вызовите метод TableAdapter. Передайте имя таблицы данных, содержащей значения, записываемые в базу данных.

Обновление базы данных с помощью TableAdapter

  • Заключите метод TableAdapterUpdate в try/catch блок. В следующем примере показано, как обновить содержимое Customers таблицы из/NorthwindDataSettrycatch блока.

    try
    {
        this.Validate();
        this.customersBindingSource.EndEdit();
        this.customersTableAdapter.Update(this.northwindDataSet.Customers);
        MessageBox.Show("Update successful");
    }
    catch (System.Exception ex)
    {
        MessageBox.Show("Update failed");
    }