Partilhar via


Salvar dados de um objeto em um banco de dados 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.

Você pode salvar dados em objetos em um banco de dados passando os valores do objeto para um dos métodos DBDirect do TableAdapter (por exemplo, TableAdapter.Insert). Para obter mais informações, confira TableAdapter.

Para salvar dados de uma coleção de objetos, execute um loop pela coleção de objetos (por exemplo, um loop for-next) e envie os valores de cada objeto para o banco de dados usando um dos métodos DBDirect do TableAdapter.

Por padrão, os métodos DBDirect são criados em um TableAdapter que pode ser executado diretamente no banco de dados. Esses métodos podem ser chamados diretamente e não exigem objetos DataSet ou DataTable para reconciliar alterações para enviar atualizações a um banco de dados.

Observação

Quando você está configurando um TableAdapter, a consulta principal precisa fornecer informações suficientes para que os métodos DBDirect sejam criados. Por exemplo, se um TableAdapter estiver configurado para consultar dados de uma tabela que não tenha uma coluna de chave primária definida, ele não gerará métodos DBDirect.

Métodos DBDirect TableAdapter Descrição
TableAdapter.Insert Adiciona novos registros a um banco de dados e permite que você passe valores de coluna individuais como parâmetros de método.
TableAdapter.Update Atualiza registros existentes em um banco de dados. O método Update usa valores de coluna originais e novos como parâmetros de método. Os valores originais são usados para localizar o registro original e os novos valores são usados para atualizar esse registro.

O método TableAdapter.Update também é usado para reconciliar as alterações em um conjunto de dados de volta ao banco de dados usando uma matriz DataSet, DataTable, DataRow ou uma matriz de DataRows como parâmetros de método.
TableAdapter.Delete Exclui registros existentes do banco de dados com base nos valores de coluna originais passados como parâmetros de método.

Para salvar novos registros de um objeto em um banco de dados

  • Crie os registros passando os valores para o método TableAdapter.Insert.

    O exemplo a seguir cria um registro de cliente na tabela Customers passando os valores no objeto currentCustomer para o método TableAdapter.Insert.

    private void AddNewCustomers(Customer currentCustomer)
    {
        customersTableAdapter.Insert( 
            currentCustomer.CustomerID, 
            currentCustomer.CompanyName, 
            currentCustomer.ContactName, 
            currentCustomer.ContactTitle, 
            currentCustomer.Address, 
            currentCustomer.City, 
            currentCustomer.Region, 
            currentCustomer.PostalCode, 
            currentCustomer.Country, 
            currentCustomer.Phone, 
            currentCustomer.Fax);
    }
    

Para atualizar registros existentes de um objeto para um banco de dados

  • Modifique os registros chamando o método TableAdapter.Update, passando os novos valores para atualizar o registro e passando os valores originais para localizar o registro.

    Observação

    Seu objeto precisa manter os valores originais para passá-los para o método Update. Este exemplo usa propriedades com um prefixo orig para armazenar os valores originais.

    O exemplo a seguir atualiza um registro existente na tabela Customers passando os valores novos e originais no objeto Customer para o método TableAdapter.Update.

    private void UpdateCustomer(Customer cust)
    {
        customersTableAdapter.Update(
            cust.CustomerID,
            cust.CompanyName,
            cust.ContactName,
            cust.ContactTitle,
            cust.Address,
            cust.City,
            cust.Region,
            cust.PostalCode,
            cust.Country,
            cust.Phone,
            cust.Fax,
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax);
    }
    

Para excluir registros existentes de um banco de dados

  • Exclua os registros chamando o método TableAdapter.Delete e passando os valores originais para localizar o registro.

    Observação

    Seu objeto precisa manter os valores originais para passá-los para o método Delete. Este exemplo usa propriedades com um prefixo orig para armazenar os valores originais.

    O exemplo a seguir exclui um registro da tabela Customers passando os valores originais no objeto Customer para o método TableAdapter.Delete.

    private void DeleteCustomer(Customer cust)
    {
        customersTableAdapter.Delete(
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax);
    }
    

Segurança do .NET

Você precisa ter permissão para executar o INSERT, o UPDATE ou o DELETE selecionado na tabela no banco de dados.