Compartilhar via


Acessar diretamente o banco de dados com um TableAdapter em aplicativos do .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. As tecnologias 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.

Além dos InsertCommand, UpdateCommand e DeleteCommand, TableAdapters são criados com métodos que podem ser executados diretamente no banco de dados. Você pode chamar esses métodos (TableAdapter.Insert, TableAdapter.Update e TableAdapter.Delete) para manipular dados diretamente no banco de dados.

Se você não quiser criar esses métodos diretos, defina a propriedade TableAdapter GenerateDbDirectMethods como false na janela Propriedades. Se alguma consulta for adicionada a um TableAdapter além da consulta principal do TableAdapter, elas serão consultas autônomas que não geram esses métodos DbDirect.

Enviar comandos diretamente para um banco de dados

Chame o método TableAdapter DbDirect que executa a tarefa que você está tentando realizar.

Para inserir novos registros diretamente em um banco de dados

  • Chame o método Insert do TableAdapter, passando os valores de cada coluna como parâmetros. O procedimento a seguir usa a tabela Region no banco de dados Northwind como exemplo.

    Observação

    Se você não tiver uma instância disponível, crie uma instância do TableAdapter que deseja usar.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Insert(5, "NorthWestern");
    

Para atualizar registros diretamente em um banco de dados

  • Chame o método Update do TableAdapter, passando os valores novos e originais de cada coluna como parâmetros.

    Observação

    Se você não tiver uma instância disponível, crie uma instância do TableAdapter que deseja usar.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Update(1, "East", 1, "Eastern");
    

Para excluir registros diretamente de um banco de dados

  • Chame o método Delete do TableAdapter, passando os valores de cada coluna como parâmetros do método Delete. O procedimento a seguir usa a tabela Region no banco de dados Northwind como exemplo.

    Observação

    Se você não tiver uma instância disponível, crie uma instância do TableAdapter que deseja usar.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Delete(5, "NorthWestern");