Partilhar via


Acessar diretamente o banco de dados com um TableAdapter em aplicativos .NET Framework

Observação

A DataSet classe 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 especialmente úteis para aplicativos que permitem aos usuários modificar dados e manter as alterações de volta ao banco de dados. Embora os conjuntos de dados sejam uma tecnologia comprovadamente bem-sucedida, a abordagem recomendada para novos aplicativos .NET é usar o Entity Framework Core. O Entity Framework fornece uma maneira mais natural de trabalhar com dados tabulares como modelos de objeto e tem uma interface de programação mais simples.

Além do 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.Updatee TableAdapter.Delete) para manipular dados diretamente no banco de dados.

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

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 como parâmetros os valores de cada coluna. O procedimento a seguir usa a Region tabela no banco de dados Northwind como exemplo.

    Observação

    Se você não tiver uma instância disponível, instancie o 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 do Update TableAdapter, passando os valores novos e originais para cada coluna como parâmetros.

    Observação

    Se você não tiver uma instância disponível, instancie o 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 para o método Delete. O procedimento a seguir usa a Region tabela no banco de dados Northwind como exemplo.

    Observação

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

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