Salvare i dati con i metodi DBDirect TableAdapter nelle applicazioni .NET Framework

Nota

I set di dati e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le applicazioni vengono disconnesse dal database. Sono particolarmente utili per le applicazioni che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Anche se i set di dati hanno dimostrato di essere una tecnologia molto efficace, è consigliabile che le nuove applicazioni .NET usino Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e ha un'interfaccia di programmazione più semplice.

Questa esercitazione fornisce istruzioni dettagliate per l'esecuzione di istruzioni SQL direttamente su un database usando i metodi DBDirect di un oggetto TableAdapter. I metodi DBDirect di un oggetto TableAdapter consentono un elevato livello di controllo degli aggiornamenti del database. È possibile usarli per eseguire istruzioni e stored procedure SQL specifiche chiamando i singoli Insertmetodi , Updatee Delete in base alle esigenze dell'applicazione , anziché il metodo di Update overload che esegue UPDATEle istruzioni , INSERTe DELETE in una sola chiamata.

Durante questa esercitazione si apprenderà come:

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

  • Selezionare il controllo da creare nel form tramite 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 tramite il trascinamento di elementi dalla finestra Origini dati nel form.

  • Aggiungere metodi per accedere direttamente al database ed eseguire inserimenti, aggiornamenti ed eliminazioni.

Prerequisiti

I passaggi di questa esercitazione funzionano con .NET Framework Windows Form Applicazioni.

Questa esercitazione usa sql Server Express Local DB e il database di esempio Northwind.

  1. Se SQL Server Express Local DB non è disponibile, installarlo dalla pagina di download di SQL Server Express o tramite il Programma di installazione di Visual Studio. Nella Programma di installazione di Visual Studio è possibile installare SQL Server Express Local DB come parte del carico di lavoro Archiviazione ed elaborazione dei dati o come singolo componente.

  2. Installare il database di esempio Northwind seguendo questa procedura:

    1. In Visual Studio aprire la finestra Esplora oggetti di SQL Server. SQL Server Esplora oggetti viene installato come parte del carico di lavoro Archiviazione ed elaborazione dei dati nel Programma di installazione di Visual Studio. Espandere il nodo SQL Server. Fare clic con il pulsante destro del mouse sull'istanza di Local DB e scegliere Nuova query.

      Verrà visualizzata una finestra dell'editor di query.

    2. Copiare lo script Transact-SQL Northwind negli Appunti. Questo script T-SQL crea il database Northwind da zero e lo popola con i dati.

    3. Incollare lo script T-SQL nell'editor di query e quindi scegliere il pulsante Esegui .

      Dopo un breve periodo di tempo, la query termina l'esecuzione e viene creato il database Northwind.

Creare un'applicazione Windows Forms Application

Il primo passaggio consiste nel creare un'app Windows Form (.NET Framework). Creare un progetto usando il tipo di progetto Windows Form App usando C# o Visual Basic.

Nota

Il codice per questa esercitazione è disponibile in C# e Visual Basic. Per cambiare il linguaggio di codice in questa pagina tra C# e Visual Basic, usare lo switcher del linguaggio di codice nella parte superiore della pagina sul lato destro.

Creare un'origine dati dal database

Questo passaggio usa la Configurazione guidata origine dati per creare un'origine dati basata sulla tabella Region presente nel database di esempio Northwind. Per creare la connessione, è necessario avere accesso al database di esempio Northwind. Per informazioni sulla configurazione del database di esempio Northwind, vedere Procedura: Installare database di esempio.

Per creare l'origine dati

  1. Scegliere Mostra origini dati dal menu Dati.

    Verrà visualizzata la finestra Origini dati.

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

  3. Nella schermata Scegliere un tipo di origine dati selezionare Database e quindi avanti.

  4. Nella schermata Scegliere i dati Connessione ion eseguire una delle operazioni seguenti:

    • Se nell'elenco a discesa è disponibile una connessione dati al database di esempio Northwind, selezionarla.

      oppure

    • Selezionare Nuova connessione per aprire la finestra di dialogo Aggiungi/Modifica connessione.

  5. Se il database richiede una password, selezionare l'opzione per includere dati sensibili e quindi selezionare Avanti.

  6. Nella schermata Salva stringa di connessione nel file di configurazione dell'applicazione selezionare Avanti.

  7. Nella schermata Scegliere gli oggetti di database espandere il nodo Tabelle .

  8. Selezionare la Region tabella e quindi selezionare Fine.

    L'oggetto NorthwindDataSet viene aggiunto al progetto e la tabella Region viene visualizzata nella finestra Origini dati.

Aggiungere controlli al modulo per visualizzare i dati

Creare i controlli associati a dati trascinando elementi dalla finestra Origini dati nel form.

Per creare controlli associati a dati nel Windows Form, trascinare il nodo Area principale dalla finestra Origini dati nel form.

Nel form vengono visualizzati un controllo DataGridView e un controllo ToolStrip (BindingNavigator) per lo spostamento all'interno dei record. Un oggetto NorthwindDataSet, RegionTableAdapter, BindingSourcee BindingNavigator viene visualizzato nella barra dei componenti.

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

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

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

    Nome Testo
    InsertButton Insert
    UpdateButton Aggiornamento
    DeleteButton CANC

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

  1. Selezionare InsertButton per creare un gestore eventi per l'evento Click e aprire il modulo 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);
    }
    

    Nota

    A seconda della versione di Visual Studio e dei modelli di progetto usati, i nomi delle variabili come regionTableAdapter o regionTableAdapter1 usati in questo codice potrebbero avere o meno un elemento finale 1 nel codice generato. Apportare eventuali correzioni nel codice per assicurarsi che il nome corretto venga usato ovunque. Visual Studio mostra una sottolineatura ondulata rossa in cui il nome non è corretto.

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

Per aggiungere codice per eliminare i record dal database

  1. Selezionare DeleteButton per creare un gestore eventi per l'evento Click e aprire il modulo 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();
    }
    

Eseguire l'applicazione

  • Selezionare F5 per eseguire l'applicazione.

  • Selezionare il pulsante Inserisci e verificare che il nuovo record venga visualizzato nella griglia.

  • Selezionare il pulsante Aggiorna e verificare che il record venga aggiornato nella griglia.

  • Selezionare il pulsante Elimina e verificare che il record venga rimosso dalla griglia.

Passaggi successivi

A seconda dei requisiti dell'applicazione, è possibile eseguire diversi passaggi dopo la creazione di un modulo associato a dati. Alcuni miglioramenti che è possibile apportare a questa esercitazione includono:

  • Aggiunta di funzionalità di ricerca al form.

  • Aggiunta di altre tabelle al set di dati tramite selezione di Configura il Dataset con la procedura guidata nella finestra Origini dati. È possibile aggiungere controlli che consentono di visualizzare dati correlati mediante il trascinamento dei nodi correlati nel form. Per altre informazioni, vedere Relazioni nei set di dati.