Como: Modificar dados em um banco de dados usando LINQ (Visual Basic)
Consultas (LINQ) de consulta integrada de linguagem-facilitam o acesso a informações do banco de dados e modificar valores do banco de dados.
A exemplo a seguir mostra como criar um novo aplicativo que recupera e atualiza as informações em um banco de dadosde SQL .
The examples in this topic use the Northwind sample database. If you do not have the Northwind sample database on your development computer, you can download it from the Microsoft Download Center Web site. For instructions, see Downloading Sample Databases (LINQ to SQL).
To create a connection to a database
No Visual Studio, em aberto Gerenciador de Servidores/Database Explorer clicando na Exibir menue, em seguida, selecione Gerenciador de Servidores/Database Explorer.
Botão direito- Conexões de dados em Gerenciador de Servidores/Database Explorere clique em Adicionar conexão.
Specify a valid connection to the Northwind sample database.
Para adicionar um projeto com uma LINQ de SQL arquivo
In Visual Studio, on the File menu, point to New and then click Project. Select Visual Basic Windows Forms Application as the project type.
On the Project menu, click Add New Item. Select the LINQ to SQL Classes item template.
Name the file northwind.dbml. Click Add. O Object Relational Designer (Designer Relacional de Objetos) é aberto para o northwind.dbml arquivo.
Para adicionar tabelas à consulta e modificar para o designer
In Server Explorer/Database Explorer, expand the connection to the Northwind database. Expand the Tables folder.
Se você tiver fechado o Designer Relacional de Objetos, poderá reabri-lo por duas-clicando na northwind.dbml o arquivo que você adicionou anteriormente.
Click the Customers table and drag it to the left pane of the designer.
O designer cria um novo cliente objeto para o seu projeto.
Save your changes and close the designer.
Save your project.
Para adicionar código para modificar o banco de dados e exibir os resultados
From the Toolbox, drag a DataGridView control onto the default Windows Form for your project, Form1.
When you added tables to the O/R Designer, the designer added a DataContext object to your project. 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 local do cliente objeto e uma coleção do clientes para a tabela. The DataContext object for your project is named based on the name of your .dbml file. For this project, the DataContext object is named northwindDataContext.
Você pode criar uma instância da DataContextoobjeto no código e no consulta e modificar a coleção de clientes especificados pelo Designer Relacional de Objetos. As alterações feitas à coleção de clientes não são refletidas no banco de dados até que você os envie chamando o SubmitChangesométodo da DataContextobjeto.
-De duplo clique em formulário do Windows, Form1, para adicionar código para o Load consulta a tabela de clientes é exposta como uma propriedade deevento seu DataContext. Add the following code:
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 no formulário. Selecione o primeiro Button de controle. No Propriedades janela, defina a Name da Button controle para AddButton e o Text para Adicionar. Selecione o segundo botão e defina a Namedepropriedade para UpdateButton e o Textdepropriedade para atualização. Selecione o terceiro botão e defina a Namedepropriedade para DeleteButton e o Textdepropriedade para Excluir.
Duplo clique de-a Adicionar botão para adicionar código para seu Click evento. Add the following code:
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
Duplo clique de-a atualização botão para adicionar código para seu Click evento. Add the following code:
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
Duplo clique de-o Excluir o botão para adicionar código para seu Click evento. Add the following code:
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 seu projeto. Clique em Adicionar 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
How to: Assign Stored Procedures to Perform Updates, Inserts, and Deletes (O/R Designer)
Walkthrough: Creating LINQ to SQL Classes (O/R Designer)
Conceitos
DataContext Methods (O/R Designer)