Como modificar dados em um banco de dados usando LINQ (Visual Basic)
Consultas do LINQ (consulta) integrada à linguagem facilitam acessar as informações do banco de dados e modificar valores no banco de dados.
O exemplo a seguir mostra como criar um novo aplicativo que recupera e atualiza as informações em um banco de dados SQL Server.
Os exemplos neste tópico usam o banco de dados de exemplo Northwind. Se você não tiver o banco de dados de exemplo Northwind no seu computador de desenvolvimento, você poderá baixá-lo do site da Web Microsoft Download Center. Para obter instruções, consulte Baixando bancos de dados de exemplo [wd_LINQSQL].
Para criar uma conexão com um banco de dados
No Visual Studio, abra Server Explorer/Database Explorer clicando o Exibir menu e, em seguida, selecione Server Explorer/Database Explorer.
Com o botão direito Conexões de dados na Server Explorer/Database Explorere clique em Add Connection.
Especifique uma conexão válida ao banco de dados de exemplo Northwind.
Para adicionar um projeto com um LINQ to SQL de arquivo
No Visual Studio, no menu File, aponte para New e em seguida clique em Project. Selecione Aplicativo Windows Forms Visual Basic como o tipo de projeto.
No menu Project, clique em Add New Item. Selecione o modelo de item Classes LINQ to SQL .
Nomeie o arquivo northwind.dbml. Clique em Adicionar. O Object Relational Designer (O/R Designer) é aberto para o northwind.dbml arquivo.
Para adicionar tabelas para consultar e modificar para o designer
Em Gerenciador de Servidores/ Gerenciador de Banco de dados , expanda a conexão para o banco de dados Northwind. Expanda a pasta Tabelas.
Se você tiver fechado o O/R Designer, você poderá reabri-lo clicando duas vezes o northwind.dbml o arquivo que você adicionou anteriormente.
Clique na tabela Clientes e arraste-a para o painel esquerdo do designer.
O designer cria um novo objeto de cliente para o seu projeto.
Salve suas alterações e feche o designer.
Salve seu projeto.
Para adicionar código para modificar o banco de dados e exibir os resultados
Da Caixa de Ferramentas, arraste um controle DataGridView para o Windows Form padrão para seu projeto, Form1.
Quando você adicionar tabelas ao O/R Designer, o designer adicionará um objeto DataContext ao projeto. Este objeto contém código que você pode usar para acessar a tabela de clientes. Ele também contém código que define um objeto local do cliente e uma coleção de clientes para a tabela. O objeto DataContext para seu projeto é nomeado com base no nome do arquivo .dbml. Para este projeto, o objeto DataContext é denominado northwindDataContext.
Você pode criar uma instância da DataContext de objeto em seu código e a consulta e modificar a coleção de clientes especificada pelo / R Designer. As alterações feitas para a coleção de clientes não são refletidas no banco de dados até que você enviá-los, chamando o SubmitChanges método da DataContext objeto.
Clique duas vezes no formulário do Windows, Form1, para adicionar código para o Load evento para consulta, os clientes da tabela que é exposto como uma propriedade de seu DataContext. Adicione o seguinte código:
Private db As northwindDataContext Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles MyBase.Load db = New northwindDataContext() RefreshData() End Sub Private Sub RefreshData() Dim customers = From cust In db.Customers Where cust.City(0) = "W" Select cust DataGridView1.DataSource = customers End Sub
Do caixa de ferramentas, arraste três Button controles para o formulário. Selecione o primeiro Button controle. No Propriedades janela, defina a Name da Button o controle para AddButton e o Text para Add. Selecione o segundo botão e defina a Name propriedade para UpdateButton e o Text propriedade para atualização. Selecione o terceiro botão e defina a Name propriedade para DeleteButton e o Text propriedade para Excluir.
Clique duas vezes o Add o botão para adicionar código para seu Click evento. Adicione o seguinte código:
Private Sub AddButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs ) Handles AddButton.Click Dim cust As New Customer With { .City = "Wellington", .CompanyName = "Blue Yonder Airlines", .ContactName = "Jill Frank", .Country = "New Zealand", .CustomerID = "JILLF"} db.Customers.InsertOnSubmit(cust) Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End Sub
Clique duas vezes o atualização o botão para adicionar código para seu Click evento. Adicione o seguinte código:
Private Sub UpdateButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs ) Handles UpdateButton.Click Dim updateCust = (From cust In db.Customers Where cust.CustomerID = "JILLF").ToList()(0) updateCust.ContactName = "Jill Shrader" Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End Sub
Clique duas vezes o Excluir o botão para adicionar código para seu Click evento. Adicione o seguinte código:
Private Sub DeleteButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs ) Handles DeleteButton.Click Dim deleteCust = (From cust In db.Customers Where cust.CustomerID = "JILLF").ToList()(0) db.Customers.DeleteOnSubmit(deleteCust) Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End Sub
Pressione F5 para executar o projeto. Clique em Add para adicionar um novo registro. Clique em atualização para modificar o novo registro. Clique em Excluir para excluir o novo registro.
Consulte também
Tarefas
Passo a passo: criando classes LINQ to SQL (Designer Relacional de Objetos)
Conceitos
Métodos de DataContext (Designer de Objeto Relacional)