Atualizar dados usando um TableAdapter nos aplicativos .NET Framework

Observação

Os conjuntos de dados e as classes relacionadas são tecnologias herdadas do .NET Framework do início dos anos 2000 que permitem que os aplicativos trabalhem com dados na memória enquanto os aplicativos estão desconectados do banco de dados. Eles são bastante úteis em aplicativos que permitem que os usuários modifiquem dados e persistam as alterações no banco de dados. Embora os conjuntos de dados tenham se mostrado uma tecnologia muito bem-sucedida, é recomendado que os novos aplicativos .NET usem o Entity Framework Core. O Entity Framework proporciona uma forma mais natural de trabalhar com dados tabulares como modelos de objeto e conta com uma interface de programação mais simples.

Depois que os dados em seu conjunto de dados tiverem sido modificados e validados, você poderá enviar os dados atualizados de volta para um banco de dados chamando o método Update de um TableAdapter. O método Update atualiza uma única tabela de dados e executa o comando correto (INSERT, UPDATE ou DELETE) com base no RowState de cada linha de dados na tabela. Quando um conjunto de dados tem tabelas relacionadas, o Visual Studio gera uma classe TableAdapterManager que você usa para fazer as atualizações. A classe TableAdapterManager garante que as atualizações sejam feitas na ordem correta com base nas restrições de chave estrangeira definidas no banco de dados. Quando você usa controles associados a dados, a arquitetura de vinculação de dados cria uma variável membro da classe TableAdapterManager chamada tableAdapterManager.

Observação

Ao tentar atualizar uma fonte de dados com o conteúdo de um conjunto de dados, você poderá obter erros. Para evitar erros, recomendamos que você coloque o código que chama o método Update do adaptador dentro de um bloco try/catch.

O procedimento exato para atualizar uma fonte de dados pode variar dependendo das necessidades comerciais, mas inclui as seguintes etapas:

  1. Chame o método Update do adaptador em um bloco try/catch.

  2. Se uma exceção for capturada, localize a linha de dados que causou o erro.

  3. Reconcilie o problema na linha de dados (programaticamente, se puder, ou apresentando a linha inválida ao usuário para modificação) e tente a atualização novamente (HasErrors, GetErrors).

Salvar dados em um banco de dados

Chame o método Update de um TableAdapter. Transmita o nome da tabela de dados que contém os valores a serem gravados no banco de dados.

Para atualizar um banco de dados usando um TableAdapter

  • Coloque o método TableAdapterUpdate em um bloco try/catch. O exemplo a seguir mostra como atualizar o conteúdo da tabela Customers em NorthwindDataSet de dentro de um bloco try/catch.

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