Procedura: modificare dati in un database utilizzando LINQ (Visual Basic)
Language-Integrated Query (LINQ) semplifica l'accesso alle informazioni di un database e la modifica dei valori presenti nel database.
Nell'esempio seguente viene illustrato come creare una nuova applicazione che recuperi e aggiorni le informazioni in un database SQL Server.
Negli esempi di questo argomento viene utilizzato il database di esempio Northwind. Se sul computer di sviluppo non è installato il database di esempio Northwind, è possibile scaricarlo da Area download Microsoft. Per istruzioni, vedere Download dei database di esempio (LINQ to SQL).
Per creare una connessione al database
In Visual Studio, aprire Esplora server/Esplora database facendo clic sul menu Visualizza e poi selezionando Esplora server/Esplora database.
In Esplora server/Esplora database fare clic con il pulsante destro del mouse su Connessioni dati e scegliere Aggiungi connessione.
Specificare una connessione valida al database di esempio Northwind.
Per aggiungere un progetto con un file LINQ to SQL
Scegliere Nuovo dal menu File di Visual Studio, quindi Progetto. Selezionare Applicazione Windows Form di Visual Basic come tipo di progetto.
Scegliere Aggiungi nuovo elemento dal menu Progetto. Selezionare il modello dell'elemento Classi LINQ to SQL.
Denominare il file northwind.dbml. Scegliere Aggiungi. Viene aperto Progettazione relazionale oggetti per il file northwind.dbml.
Per aggiungere tabelle su cui eseguire una query e da modificare alla finestra di progettazione.
In Esplora server/Esplora database espandere la connessione al database Northwind. Espandere la cartella Tabelle.
Se Progettazione relazionale oggetti è stato chiuso, è possibile riaprirlo facendo doppio clic sul file northwind.dbml aggiunto in precedenza.
Fare clic sulla tabella Customers e, tenendo premuto il pulsante del mouse, trascinarla nel riquadro di sinistra del Designer.
La finestra di progettazione crea un nuovo oggetto Customers per il progetto.
Salvare le modifiche e chiudere le finestra di progettazione.
Salvare il progetto.
Per aggiungere il codice per modificare il database e visualizzare i risultati:
Dalla Casella degli strumenti, trascinare un controllo DataGridView nel Windows Form predefinito per il progetto, Form1.
Quando si aggiungono tabelle a Progettazione relazionale oggetti, la finestra di progettazione aggiunge un oggetto DataContext al progetto. Questo oggetto contiene il codice che è possibile utilizzare per accedere alla tabella Customers. Contiene anche il codice che definisce un oggetto Customer locale e un insieme Customers per la tabella. L'oggetto DataContext per il progetto viene denominato in base al nome del file .dbml. Per questo progetto, l'oggetto DataContext viene denominato northwindDataContext.
È possibile creare un'istanza dell'oggetto DataContext nel codice ed eseguire una query e modificare gli insiemi Customers specificati da Progettazione relazionale oggetti. Le modifiche apportate all'insieme Customers non vengono riflesse nel database fino a che non vengono inviate chiamando il metodo SubmitChanges dell'oggetto DataContext.
Fare doppio clic su Windows Form, Form1 per aggiungere il codice all'evento Load per eseguire una query nella tabella Customers esposta come una proprietà di DataContext. Aggiungere il codice riportato di seguito.
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
Da Casella degli strumenti, trascinare tre controlli Button nel form. Selezionare il primo controllo Button. Nella finestra Proprietà, impostare Name del controllo Button a AddButton e Text a Aggiungi. Selezionare il secondo pulsante e impostare la proprietà Name a UpdateButton e la proprietà Text a Aggiorna. Selezionare il terzo pulsante e impostare la proprietà Name a DeleteButton e la proprietà Text a Elimina.
Fare doppio clic sul pulsante Aggiungi per aggiungere il codice al relativo evento Click. Aggiungere il codice riportato di seguito.
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
Fare doppio clic sul pulsante Aggiorna per aggiungere il codice al relativo evento Click. Aggiungere il codice riportato di seguito.
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
Fare doppio clic sul pulsante Elimina per aggiungere il codice al relativo evento Click. Aggiungere il codice riportato di seguito.
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
Premere F5 per eseguire il progetto. Fare clic su Aggiungi per aggiungere un nuovo record. Fare clic su Aggiorna per modificare il nuovo record. Fare clic su Elimina per cancellare il nuovo record.
Vedere anche
Attività
Procedura dettagliata: creazione di classi LINQ to SQL (Progettazione relazionale oggetti)
Concetti
Metodi DataContext (Progettazione relazionale oggetti)