Procedura dettagliata: salvataggio di dati con i metodi DBDirect di TableAdapter
In questa procedura dettagliata sono fornite istruzioni dettagliate per eseguire le istruzioni SQL direttamente su un database utilizzando i metodi DBDirect di un TableAdapter. I metodi DBDirect di un TableAdapter forniscono un buon livello di controllo degli aggiornamenti del database. Mediante questi metodi è possibile eseguire istruzioni SQL specifiche e stored procedure chiamando i singoli metodi Insert, Update e Delete, come richiesto dall'applicazione (a differenza del metodo in overload Update che consente di eseguire le istruzioni UPDATE, INSERT e DELETE in un'unica chiamata).
In particolare, vengono illustrate le seguenti operazioni:
Creare una nuova applicazione Windows.
Creazione e configurazione un dataset mediante Configurazione guidata origine dati.
Selezione del controllo da creare sul form durante il trascinamento degli elementi dalla finestra Origini dati. Per ulteriori informazioni, vedere Procedura: impostare il controllo da creare per il trascinamento dalla finestra Origini dati.
Creazione di un form associato a dati mediante il trascinamento degli elementi dalla finestra Origini dati al form.
Aggiunta diretta di metodi per accedere al database ed eseguire operazioni di inserimento, aggiornamento ed eliminazione direttamente sul database.
Prerequisiti
Per completare questa procedura dettagliata è necessario:
- Accesso al database di esempio Northwind. Per ulteriori informazioni, vedere Procedura: installare database di esempio.
Creazione di un'applicazione Windows
Il primo passaggio consiste nella creazione di un'Applicazione Windows.
Per creare un nuovo progetto Windows
In Visual Studio scegliere Progetto dal menu File.
Denominare il progetto TableAdapterDbDirectMethodsWalkthrough.
Selezionare Applicazione Windows e scegliere OK. Per ulteriori informazioni, vedere Creazione di applicazioni per Windows.
Il progetto TableAdapterDbDirectMethodsWalkthrough viene creato e aggiunto a Esplora soluzioni.
Creazione di un'origine dati dal database in uso.
In questa procedura viene utilizzata la Configurazione guidata origine dati per creare un'origine dati basata sulla tabella Region contenuta nel database di esempio Northwind. Per creare la connessione è necessario disporre dell'accesso al database di esempio Northwind. Per informazioni sull'impostazione del database di esempio Northwind, vedere Procedura: installare database di esempio.
Per creare l'origine dati
Scegliere Mostra origini dati dal menu Dati.
Nella finestra Origini dati selezionare Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.
Selezionare Database nella pagina Scegliere un tipo di origine dati e scegliere Avanti.
Nella pagina Seleziona connessione dati effettuare una delle seguenti operazioni:
Selezionare la connessione dati al database di esempio Northwind nell'elenco a discesa, se presente.
- oppure -
Selezionare Nuova connessione per aprire la finestra di dialogo Aggiungi/Modifica connessione. Per ulteriori informazioni, vedere Finestra di dialogo Aggiungi/Modifica connessione (generale).
Se il database in uso richiede una password, selezionare l'opzione che consente di includere dati riservati, quindi scegliere Avanti.
Scegliere Avanti nella pagina Salva la stringa di connessione nel file di configurazione dell'applicazione.
Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.
Selezionare la tabella Region e scegliere Fine.
L'oggetto NorthwindDataSet viene aggiunto al progetto e la tabella Region viene visualizzata nella finestra Origini dati.
Aggiunta di controlli al form per visualizzare i dati.
Creare i controlli associati a dati mediante il trascinamento degli elementi dalla finestra Origini dati nel form.
Per creare controlli con associazione a dati nel Windows Form
Trascinare il nodo Region principale dalla finestra Origini dati al form.
Sul form vengono visualizzati un controllo DataGridView e un controllo Toolstrip (BindingNavigator) per lo spostamento all'interno dei record. Sulla barra dei componenti vengono visualizzati gli oggetti NorthwindDataSet, RegionTableAdapter, BindingSource e BindingNavigator.
Per aggiungere pulsanti da utilizzare per la chiamata ai singoli metodi DbDirect di TableAdapter.
Trascinare tre controlli Button dalla Casella degli strumenti a Form1 (sotto l'oggetto RegionDataGridView).
Impostare le seguenti proprietà Name e Text su ciascun pulsante.
Name
Text
InsertButton
Insert
UpdateButton
Aggiorna
DeleteButton
Delete
Per aggiungere il codice per l'inserimento dei nuovi record nel database.
Fare doppio clic su InsertButton per creare un gestore eventi per l'evento clic e aprire il form nell'editor di codice.
Sostituire il gestore eventi InsertButton_Click con il seguente codice:
Private Sub InsertButton_Click() Handles InsertButton.Click Dim newRegionID As Integer = 5 Dim newRegionDescription As String = "NorthEastern" Try RegionTableAdapter1.Insert(newRegionID, newRegionDescription) Catch ex As Exception MessageBox.Show("Insert Failed") End Try RefreshDataset() End Sub Private Sub RefreshDataset() Me.RegionTableAdapter1.Fill(Me.NorthwindDataSet1._Region) End Sub
private void InsertButton_Click(object sender, EventArgs e) { Int32 newRegionID = 5; String newRegionDescription = "NorthEastern"; try { regionTableAdapter1.Insert(newRegionID, newRegionDescription); } catch (Exception ex) { MessageBox.Show("Insert Failed"); } RefreshDataset(); } private void RefreshDataset() { this.regionTableAdapter1.Fill(this.northwindDataSet1.Region); }
Per aggiungere il codice per l'aggiornamento dei record nel database
Fare doppio clic su UpdateButton per creare un gestore eventi per l'evento clic e aprire il form nell'editor di codice.
Sostituire il gestore eventi UpdateButton_Click con il seguente codice:
Private Sub UpdateButton_Click() Handles UpdateButton.Click Dim newRegionID As Integer = 5 Try RegionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern") Catch ex As Exception MessageBox.Show("Update Failed") End Try RefreshDataset() End Sub
private void UpdateButton_Click(object sender, EventArgs e) { Int32 newRegionID = 5; try { regionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern"); } catch (Exception ex) { MessageBox.Show("Update Failed"); } RefreshDataset(); }
Per aggiungere i record di eliminazione del codice dal database
Fare doppio clic su DeleteButton per creare un gestore eventi per l'evento clic e aprire il form nell'editor di codice.
Sostituire il gestore eventi DeleteButton_Click con il seguente codice:
Private Sub DeleteButton_Click() Handles DeleteButton.Click Try RegionTableAdapter1.Delete(5, "Updated Region Description") Catch ex As Exception MessageBox.Show("Delete Failed") End Try RefreshDataset() End Sub
private void DeleteButton_Click(object sender, EventArgs e) { try { regionTableAdapter1.Delete(5, "Updated Region Description"); } catch (Exception ex) { MessageBox.Show("Delete Failed"); } RefreshDataset(); }
Esecuzione dell'applicazione
Per eseguire l'applicazione
Premere F5 per eseguire l'applicazione.
Fare clic sul pulsante Insert e verificare che il nuovo record sia visualizzato nella griglia.
Fare clic sul pulsante Update e verificare che il nuovo record sia aggiornato nella griglia.
Fare clic sul pulsante Delete e verificare che il nuovo record sia stato rimosso dalla griglia.
Passaggi successivi
A seconda dei requisiti dell'applicazione, sarà possibile eseguire diverse operazioni una volta terminata la creazione di un form con associazione a dati. È possibile apportare alcuni miglioramenti a questa procedura dettagliata, tra cui:
Aggiunta di una funzionalità di ricerca al form. Per ulteriori informazioni, vedere Procedura: aggiungere una query con parametri a un'applicazione Windows Form.
Aggiunta di altre tabelle al dataset scegliendo Configura il Dataset con la procedura guidata dalla finestra Origini dati. È possibile aggiungere controlli che consentono di visualizzare dati correlati mediante il trascinamento dei nodi correlati nel form. Per ulteriori informazioni, vedere Procedura: visualizzare dati correlati in un'applicazione Windows Form.
Vedere anche
Attività
Procedura: accedere direttamente al database mediante un oggetto TableAdapter
Procedura: creare query TableAdapter
Procedura: salvare dati da un oggetto in un database
Concetti
Cenni preliminari sugli oggetti TableAdapter
Associazione di controlli Windows Form ai dati in Visual Studio
Associazione di controlli ai dati in Visual Studio
Altre risorse
Connessione ai dati in Visual Studio
Preparazione dell'applicazione al ricevimento di dati
Recupero di dati nell'applicazione