Procedura dettagliata: salvataggio di dati con i metodi DBDirect di TableAdapter

 

Data di pubblicazione: aprile 2016

Questa procedura dettagliata fornisce istruzioni dettagliate per eseguire le istruzioni SQL direttamente su un database usando i metodi DBDirect di un oggetto TableAdapter. I metodi DBDirect di un oggetto TableAdapter forniscono un elevato 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).

Durante questa procedura dettagliata, si apprenderà come:

  • Creare una nuova applicazione Windows.

  • Creare e configurare un set di dati con la Configurazione guidata origine dati.

  • Selezionare il controllo da creare sul form mediante il trascinamento degli elementi dalla finestra Origini dati. Per altre informazioni, vedere Impostare il controllo da creare durante il trascinamento dalla finestra Origini dati.

  • Creare il controllo associato a dati mediante il trascinamento degli elementi dalla finestra Origini dati nel form.

  • Aggiungere metodi per accedere direttamente al database ed eseguire operazioni di inserimento, aggiornamento ed eliminazione direttamente sul database.

Prerequisiti

Per completare questa procedura dettagliata, è necessario:

Creazione di un'applicazione Windows

Il primo passaggio consiste nella creazione di un'applicazione Windows.

Per creare il nuovo progetto Windows

  1. In Visual Studio creare un nuovo Progetto dal menu File.

  2. Denominare il progetto TableAdapterDbDirectMethodsWalkthrough.

  3. Selezionare Applicazione Windows e fare clic su OK. Per altre informazioni, vedere Applicazioni client.

    Il progetto TableAdapterDbDirectMethodsWalkthrough viene creato e aggiunto a Esplora soluzioni.

Creazione di un'origine dati dal database

Questo passaggio usa 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 avere 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

  1. Scegliere Mostra origini dati dal menu Dati.

  2. Nella finestra Origini dati selezionare Aggiungi nuova origine dati per avviare la Configurazione guidata origine dati.

  3. Selezionare Database nella pagina Scegliere un tipo di origine dati e scegliere Avanti.

  4. Nella pagina Seleziona connessione dati eseguire una delle operazioni seguenti:

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

  5. Se il database in uso richiede una password, selezionare l'opzione che consente di includere dati riservati, quindi scegliere Avanti.

  6. Nella pagina Salva stringa di connessione nel file di configurazione dell'applicazione fare clic su Avanti.

  7. Espandere il nodo Tabelle nella pagina Seleziona oggetti di database.

  8. Selezionare la tabella Region, quindi fare clic su 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 associati a dati nel Windows Form

Per aggiungere pulsanti da usare per la chiamata ai singoli metodi DbDirect di TableAdapter

  1. Trascinare tre controlli Button dalla Casella degli strumenti a Form1 (sotto l'oggetto RegionDataGridView).

  2. Impostare le seguenti proprietà Name e Text su ciascun pulsante.

    Name Text
    InsertButton Insert
    UpdateButton Update
    DeleteButton Delete

Per aggiungere il codice per l'inserimento dei nuovi record nel database

  1. Fare doppio clic su InsertButton per creare un gestore eventi per l'evento clic e aprire il form nell'editor di codice.

  2. Sostituire il gestore eventi InsertButton_Click con il codice seguente:

            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);
            }
    
        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
    

Per aggiungere il codice per l'aggiornamento dei record nel database

  1. Fare doppio clic su UpdateButton per creare un gestore eventi per l'evento clic e aprire il form nell'editor di codice.

  2. Sostituire il gestore eventi UpdateButton_Click con il codice seguente:

            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();
            }
    
        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
    

Per aggiungere i record di eliminazione del codice dal database

  1. Fare doppio clic su DeleteButton per creare un gestore eventi per l'evento clic e aprire il form nell'editor di codice.

  2. Sostituire il gestore eventi DeleteButton_Click con il codice seguente:

            private void DeleteButton_Click(object sender, EventArgs e)
            {
                try
                {
                    regionTableAdapter1.Delete(5, "Updated Region Description");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Delete Failed");
                }
                RefreshDataset();
            }
    
        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
    

Esecuzione dell'applicazione

Per eseguire l'applicazione

  • Premere F5 per eseguire l'applicazione.

  • Fare clic sul pulsante Inserisci e verificare che il nuovo record venga visualizzato nella griglia.

  • Fare clic sul pulsante Aggiorna e verificare che il nuovo record venga aggiornato nella griglia.

  • Fare clic sul pulsante Elimina e verificare che il nuovo record venga rimosso dalla griglia.

Passaggi successivi

A seconda dei requisiti dell'applicazione, si potranno eseguire diverse operazioni una volta terminata la creazione di un form associato a dati. È possibile apportare alcuni miglioramenti a questa procedura dettagliata, tra cui:

Vedere anche

Cenni preliminari sugli oggetti TableAdapter
Procedura: accedere direttamente al database mediante un oggetto TableAdapter
Procedura: creare query TableAdapter
Procedura: salvare dati da un oggetto in un database
Associazione di controlli Windows Form ai dati in Visual Studio
Connessione ai dati in Visual Studio
Preparazione dell'applicazione al ricevimento di dati
Recupero di dati nell'applicazione
Associazione di controlli ai dati in Visual Studio
Modifica di dati nell'applicazione
Convalida dei dati
Salvataggio di dati