Compartilhar via


Como salvar dados de um objeto em um banco de dados

 

Publicado: abril de 2016

Você pode salvar dados em objetos para 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 Visão geral de TableAdapter.

Para salvar dados de uma coleção de objetos, percorrer a coleção de objetos (por exemplo, um loop for-next) e envie os valores para cada objeto de 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 DataSet ou DataTable objetos para reconciliar as alterações para enviar atualizações para um banco de dados.

Dica

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

Método TableAdapter DBDirect Descrição
TableAdapter.Insert Adiciona novos registros em um banco de dados permitindo que você passe valores individuais de coluna como parâmetros do método.
TableAdapter.Update Atualizações de registros existentes em um banco de dados. O Update método recebe valores de coluna original e novo 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 TableAdapter.Update método também é usado para acomodar as alterações em um conjunto de dados no banco de dados fazendo uma DataSet, DataTable, DataRow, ou uma matriz de DataRows como parâmetros do método.
TableAdapter.Delete Exclui registros existentes do banco de dados com base em valores da coluna original passados como parâmetros de método.

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

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

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

            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);
            }
    
        Private Sub AddNewCustomer(ByVal currentCustomer As Customer)
    
            CustomersTableAdapter.Insert(
                currentCustomer.CustomerID,
                currentCustomer.CompanyName,
                currentCustomer.ContactName,
                currentCustomer.ContactTitle,
                currentCustomer.Address,
                currentCustomer.City,
                currentCustomer.Region,
                currentCustomer.PostalCode,
                currentCustomer.Country,
                currentCustomer.Phone,
                currentCustomer.Fax)
        End Sub
    

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

  • Modificar os registros chamando o TableAdapter.Update método e passar os novos valores para atualizar o registro e passar os valores originais para localizar o registro.

    Dica

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

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

            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);
            }
    
        Private Sub UpdateCustomer(ByVal cust As Customer)
    
                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)
        End Sub
    

Para excluir registros existentes de um banco de dados

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

    Dica

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

    O exemplo a seguir exclui um registro do Customers tabela passando os valores originais no Customer do 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);
            }
    
        Private Sub DeleteCustomer(ByVal cust As Customer)
    
            CustomersTableAdapter.Delete(
                cust.origCustomerID,
                cust.origCompanyName,
                cust.origContactName,
                cust.origContactTitle,
                cust.origAddress,
                cust.origCity,
                cust.origRegion,
                cust.origPostalCode,
                cust.origCountry,
                cust.origPhone,
                cust.origFax)
        End Sub
    

Segurança do .NET Framework

Você deve ter permissão para executar a inserção selecionada, UPDATE ou DELETE na tabela no banco de dados.

Consulte também

Salvar dados no banco de dados