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 objetocurrentCustomer
para o métodoTableAdapter.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 prefixoorig
para armazenar os valores originais.O exemplo a seguir atualiza um registro existente na tabela
Customers
passando os valores novos e originais no objetoCustomer
para o métodoTableAdapter.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 prefixoorig
para armazenar os valores originais.O exemplo a seguir exclui um registro da tabela
Customers
passando os valores originais no objetoCustomer
para o métodoTableAdapter.Delete
.
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.