Procedura: Modificare i dati in un Database utilizzando LINQ (Visual Basic)How to: Modify Data in a Database by Using LINQ (Visual Basic)

Language Integrated Query (LINQ) query rendono più semplice accedere alle informazioni sul database e modificare i valori nel database.Language-Integrated Query (LINQ) queries make it easy to access database information and modify values in the database.

Nell'esempio seguente viene illustrato come creare una nuova applicazione che recupera e aggiorna le informazioni in un database di SQL Server.The following example shows how to create a new application that retrieves and updates information in a SQL Server database.

Gli esempi in questo argomento usano il database di esempio Northwind.The examples in this topic use the Northwind sample database. Se non è questo database nel computer di sviluppo, è possibile scaricarlo da Microsoft Download Center.If you do not have this database on your development computer, you can download it from the Microsoft Download Center. Per istruzioni, vedere download dei database di esempio.For instructions, see Downloading Sample Databases.

Per creare una connessione a un databaseTo create a connection to a database

  1. In Visual Studio, aprire Esplora Server/Esplora Database facendo la visualizzazione dal menu e quindi selezionare Esplora Server / Esplora database.In Visual Studio, open Server Explorer/Database Explorer by clicking the View menu, and then select Server Explorer/Database Explorer.

  2. Fare doppio clic su connessioni dati nelle Esplora Server/Esplora Database, fare clic su Aggiungi connessione.Right-click Data Connections in Server Explorer/Database Explorer, and click Add Connection.

  3. Specificare una connessione valida al database di esempio Northwind.Specify a valid connection to the Northwind sample database.

Per aggiungere un progetto con un LINQ per file SQLTo add a Project with a LINQ to SQL file

  1. In Visual Studio scegliere Nuovo dal menu File e quindi fare clic su Progetto.In Visual Studio, on the File menu, point to New and then click Project. Selezionare Visual Basic Windows Forms Application come tipo di progetto.Select Visual Basic Windows Forms Application as the project type.

  2. Nel menu Progetto fare clic su Aggiungi nuovo elemento.On the Project menu, click Add New Item. Selezionare il classi LINQ to SQL modello di elemento.Select the LINQ to SQL Classes item template.

  3. Denominare il file northwind.dbml.Name the file northwind.dbml. Fare clic su Aggiungi.Click Add. Viene aperto il Object Relational Designer (O/R Designer) per il northwind.dbml file.The Object Relational Designer (O/R Designer) is opened for the northwind.dbml file.

Per aggiungere le tabelle per eseguire query e modificare nella finestra di progettazioneTo add tables to query and modify to the designer

  1. Nelle Esplora Server/Esplora Database, espandere la connessione al database Northwind.In Server Explorer/Database Explorer, expand the connection to the Northwind database. Espandere la tabelle cartella.Expand the Tables folder.

    Se è stato chiuso O/R Designer, è possibile riaprirlo facendo doppio clic il northwind.dbml file aggiunti in precedenza.If you have closed the O/R Designer, you can reopen it by double-clicking the northwind.dbml file that you added earlier.

  2. Fare clic nella tabella Customers e trascinarla nel riquadro sinistro della finestra di progettazione.Click the Customers table and drag it to the left pane of the designer.

    La finestra di progettazione crea un nuovo oggetto Customer per il progetto.The designer creates a new Customer object for your project.

  3. Salvare le modifiche e chiudere la finestra di progettazione.Save your changes and close the designer.

  4. Salvare il progetto.Save your project.

Per aggiungere il codice per modificare il database e visualizzare i risultatiTo add code to modify the database and display the results

  1. Dal casella degli strumenti, trascinare un DataGridView controllo nel Form di Windows predefinito per il progetto, Form1.From the Toolbox, drag a DataGridView control onto the default Windows Form for your project, Form1.

  2. Quando si aggiungono tabelle alla finestra di Progettazione relazionale oggetti, la finestra di progettazione aggiunge un DataContext oggetti al progetto.When you added tables to the O/R Designer, the designer added a DataContext object to your project. Questo oggetto contiene codice che è possibile usare per accedere alla tabella Customers.This object contains code that you can use to access the Customers table. Include anche codice che definisce un oggetto locale del cliente e una raccolta di clienti per la tabella.It also contains code that defines a local Customer object and a Customers collection for the table. Il DataContext oggetto per il progetto viene denominato in base al nome del file. dbml.The DataContext object for your project is named based on the name of your .dbml file. Per questo progetto, il DataContext oggetto è denominato northwindDataContext.For this project, the DataContext object is named northwindDataContext.

    È possibile creare un'istanza di DataContext dell'oggetto nel codice e query e modificare la raccolta di clienti specificata da O/R Designer.You can create an instance of the DataContext object in your code and query and modify the Customers collection specified by the O/R Designer. Le modifiche apportate alla raccolta di clienti non vengono riflesse nel database fino a quando non vengono inviate chiamando il SubmitChanges metodo di DataContext oggetto.Changes that you make to the Customers collection are not reflected in the database until you submit them by calling the SubmitChanges method of the DataContext object.

    Fare doppio clic sul Windows Form, Form1, per aggiungere codice per il Load eventi di query nella tabella Customers è che viene esposto come proprietà del DataContext.Double-click the Windows Form, Form1, to add code to the Load event to query the Customers table that is exposed as a property of your DataContext. Aggiungere il codice seguente: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  
    
  3. Dal casella degli strumenti, trascinare tre Button controlli nel form.From the Toolbox, drag three Button controls onto the form. Selezionare il primo Button controllo.Select the first Button control. Nel proprietà impostare nella finestra di Name del Button il controllo a AddButton e la Text per Add.In the Properties window, set the Name of the Button control to AddButton and the Text to Add. Selezionare il secondo pulsante e impostare il Name proprietà UpdateButton e il Text proprietà Update.Select the second button and set the Name property to UpdateButton and the Text property to Update. Selezionare il terzo pulsante e impostare il Name proprietà DeleteButton e il Text proprietà Delete.Select the third button and set the Name property to DeleteButton and the Text property to Delete.

  4. Fare doppio clic il Add pulsante per aggiungere codice al relativo Click evento.Double-click the Add button to add code to its Click event. Aggiungere il codice seguente: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  
    
  5. Fare doppio clic il Update pulsante per aggiungere codice al relativo Click evento.Double-click the Update button to add code to its Click event. Aggiungere il codice seguente: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"
      updateCust.Country = "Wales"
      updateCust.CompanyName = "Red Yonder Airlines"
      updateCust.City = "Cardiff"
    
      Try  
        db.SubmitChanges()  
      Catch  
        ' Handle exception.  
      End Try  
    
      RefreshData()  
    End Sub  
    
  6. Fare doppio clic il eliminare pulsante per aggiungere codice al relativo Click evento.Double-click the Delete button to add code to its Click event. Aggiungere il codice seguente: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  
    
  7. Premere F5 per eseguire il progetto.Press F5 to run your project. Fare clic su Add per aggiungere un nuovo record.Click Add to add a new record. Fare clic su Update per modificare il nuovo record.Click Update to modify the new record. Fare clic su eliminare per eliminare il nuovo record.Click Delete to delete the new record.

Vedere ancheSee also