Condividi tramite


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

Annotazioni

La DataSet classe 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 app vengono disconnesse dal database. Le tecnologie sono particolarmente utili per le app che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Sebbene i set di dati siano una tecnologia di successo comprovata, l'approccio consigliato per le nuove applicazioni .NET consiste nell'usare Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e dispone di 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 tableAdapter forniscono un livello di controllo completo sugli aggiornamenti del database. È possibile utilizzarli per eseguire specifiche istruzioni SQL e stored procedure chiamando individualmente i metodi Insert, Update e Delete secondo le esigenze dell'applicazione, anziché il metodo Update sovraccarico che esegue le istruzioni UPDATE, INSERT e DELETE in un'unica chiamata.

Durante questa esercitazione si apprenderà come:

Prerequisiti

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

Questa esercitazione usa SQL Server Express LocalDB e il database di esempio Northwind.

  1. Se SQL Server Express LocalDB non è disponibile, installarlo dalla pagina di download di SQL Server Express o tramite il programma di installazione di Visual Studio. Nel programma di installazione di Visual Studioè possibile installare SQL Server Express LocalDB come parte del carico di lavoro di 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. L'Esplora oggetti di SQL Server viene installato come parte del carico di lavoro Archiviazione dati ed elaborazione nel programma di installazione di Visual Studio. Espandere nodo SQL Server. Fare clic con il pulsante destro del mouse sull'istanza di LocalDB e selezionare Nuova query.

      Verrà visualizzata una finestra dell'editor di query.

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

    3. Incolla lo script T-SQL nell'editor di query e poi scegli 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 Forms (.NET Framework). Creare un progetto usando il tipo di progetto App Windows Form usando C# o Visual Basic.

Annotazioni

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 tuo database

Questo passaggio usa la Configurazione guidata dell'origine dati per creare un'origine dati basata sulla Region tabella 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 Choose your Data Connection (Scegli connessione dati ) 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 avviare 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.

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

Aggiungere controlli al modulo per visualizzare i dati

Creare i controlli associati a dati trascinando gli 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.

Un DataGridView controllo e una striscia di strumenti (BindingNavigator) per lo spostamento dei record vengono visualizzati nel modulo. Un oggetto NorthwindDataSet, RegionTableAdapter, BindingSourcee BindingNavigator viene visualizzato nella barra dei componenti.

Per aggiungere pulsanti che chiameranno i singoli metodi TableAdapter DbDirect

  1. Trascinare tre Button controlli dalla casella degli strumenti in Form1 (sotto RegionDataGridView).

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

    Nome Testo
    InsertButton Inserisci
    UpdateButton Aggiornamento
    DeleteButton Elimina

Per aggiungere codice per inserire 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 InsertButton_Click gestore eventi 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);
    }
    

    Annotazioni

    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 dove il nome è sbagliato.

Per aggiungere codice per aggiornare i record nel database

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

  2. Sostituire il UpdateButton_Click gestore eventi 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 DeleteButton_Click gestore eventi 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 della funzionalità di ricerca al modulo.

  • Aggiunta di tabelle aggiuntive al set di dati selezionando Configura set di dati con la procedura guidata all'interno della finestra Origini dati . È possibile aggiungere controlli che visualizzano dati correlati trascinando i nodi correlati nel form. Per altre informazioni, vedere Relazioni nei set di dati.