Compartilhar via


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

  1. No Visual Studio, abra Server Explorer/Database Explorer clicando o Exibir menu e, em seguida, selecione Server Explorer/Database Explorer.

  2. Com o botão direito Conexões de dados na Server Explorer/Database Explorere clique em Add Connection.

  3. Especifique uma conexão válida ao banco de dados de exemplo Northwind.

Para adicionar um projeto com um LINQ to SQL de arquivo

  1. 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.

  2. No menu Project, clique em Add New Item. Selecione o modelo de item Classes LINQ to SQL .

  3. 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

  1. 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.

  2. 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.

  3. Salve suas alterações e feche o designer.

  4. Salve seu projeto.

Para adicionar código para modificar o banco de dados e exibir os resultados

  1. Da Caixa de Ferramentas, arraste um controle DataGridView para o Windows Form padrão para seu projeto, Form1.

  2. 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
    
  3. 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.

  4. 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
    
  5. 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
    
  6. 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
    
  7. 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

Como atribuir procedimentos armazenados para executar atualizações, inserções e exclusões (Designer Relacional de Objetos)

Passo a passo: criando classes LINQ to SQL (Designer Relacional de Objetos)

Conceitos

Métodos de DataContext (Designer de Objeto Relacional)

Outros recursos

LINQ no Visual Basic

Consultas (Visual Basic)

LINQ to SQL [wd_LINQSQL]