Compartilhar via


Salvar dados de um objeto em um banco de dados em aplicativos do .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 são desconectados do banco de dados. As tecnologias são especialmente úteis para aplicativos que permitem que os usuários modifiquem dados e persistam as alterações no 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.

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, consulte TableAdapter.

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

Por padrão, DBDirect os métodos 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 DataSet ou DataTable objetos para reconciliar alterações a fim de enviar atualizações para um banco de dados.

Observação

Quando você estiver configurando um TableAdapter, a consulta principal deverá fornecer informações suficientes para que os DBDirect métodos 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á DBDirect métodos.

Método TableAdapter DBDirect 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 Update método 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 alterações em um conjunto de dados de volta ao banco de dados ao receber um 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 TableAdapter.Insert método.

    O exemplo a seguir cria um novo registro de cliente na tabela Customers ao passar os valores do 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 TableAdapter.Update método, 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 Update método. Este exemplo usa propriedades com um orig prefixo para armazenar os valores originais.

    O exemplo a seguir Customers 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 TableAdapter.Delete método e passando os valores originais para localizar o registro.

    Observação

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

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

    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ê deve ter permissão para executar as ações selecionadas INSERT, UPDATE ou DELETE na tabela no banco de dados.