Condividi tramite


Procedura: riempire un dataset

La compilazione di un dataset con dei dati consiste in realtà nel caricamento dei dati nei singoli oggetti DataTable che costituiscono il dataset.Le tabelle di dati vengono compilate mediante l'esecuzione di query TableAdapter o di comandi dell'adattatore dati, ad esempio SqlDataAdapter.

La scelta di utilizzare TableAdapter o adattatori dati dipende dalla modalità di creazione del dataset.Se sono stati utilizzati gli strumenti di progettazione disponibili in Visual Studio, come la Configurazione guidata origine dati, il dataset conterrà TableAdapter.Per ulteriori informazioni sui TableAdapter, vedere Cenni preliminari sugli oggetti TableAdapter.Se il database è stato creato a livello di codice, in genere è necessario creare adattatori dati per caricare i dati nelle tabelle dati.

[!NOTA]

Quando si trascinano elementi dalla Origini dati (finestra) in un form, il codice che consente di riempire la tabella dati con i dati viene automaticamente aggiunto al gestore eventi Form_Load.Aprire il form nell'editor di codice per visualizzare la sintassi esatta per il riempimento di tabelle specifiche.Se non si desidera riempire la tabella al momento del caricamento del form, è possibile spostare il codice in un altro metodo o rimuoverlo completamente.

Compilazione di un dataset mediante un oggetto TableAdapter

È possibile chiamare una query sul TableAdapter per caricare i dati nelle tabelle di un dataset.Passare l'oggetto DataTable da riempire alla query TableAdapter.Se la query accetta parametri, passare anche questi al metodo.Se il dataset contiene più tabelle, ognuna di esse dovrà disporre di uno specifico TableAdapter e dovrà essere compilata separatamente.

[!NOTA]

Per impostazione predefinita, ogni volta che si esegue una query TableAdapter, i dati della tabella vengono cancellati prima del caricamento dei risultati della query nella tabella stessa.È possibile conservare i dati esistenti nella tabella e aggiungere i risultati impostando la proprietà ClearBeforeFill del TableAdapter su false.

Per riempire un dataset utilizzando un TableAdapter

  1. Aprire il form o il componente nell'editor di codice.

  2. Aggiungere codice in un punto dell'applicazione in cui è necessario caricare una tabella contenente dati.Se la query non accetta parametri, passare l'oggetto DataTable da riempire.Il codice dovrebbe risultare simile al seguente:

    Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet.Customers)
    
    this.customersTableAdapter.Fill(this.northwindDataSet.Customers);
    
  3. Se la query accetta parametri, passare l'oggetto DataTable da riempire e i parametri previsti dalla query.A seconda dei parametri effettivi della query, il codice dovrebbe risultare simile a quello dei seguenti esempi:

    CustomersTableAdapter.FillByCity(NorthwindDataSet.Customers, "Seattle")
    CustomersTableAdapter.FillByCityAndState(NorthwindDataSet.Customers, "Seattle", "WA")
    
    customersTableAdapter.FillByCity(northwindDataSet.Customers, "Seattle");
    customersTableAdapter.FillByCityAndState(northwindDataSet.Customers, "Seattle", "WA");
    

Compilazione di un dataset mediante un oggetto DataAdapter

Chiamare il metodo Fill dell'adattatore dati.L'adattatore eseguirà l'istruzione SQL o la stored procedure alla quale fa riferimento la relativa proprietà SelectCommand e inserirà i risultati in una tabella del dataset.Se il dataset contiene più tabelle, ogni tabella dovrà disporre di uno specifico adattatore dati e dovrà essere riempita separatamente.

Per riempire un dataset utilizzando un DataAdapter

  • Chiamare il metodo Fill dell'oggetto DataAdapter, passando l'oggetto DataSet o DataTable nel quale caricare i dati.Di seguito è riportato un esempio:

    sqlDataAdapter1.Fill(dataset1.Tables("Customers"))
    
    sqlDataAdapter1.Fill(dataset1.Tables["Customers"]);
    

    Generalmente si procede fornendo il nome dell'oggetto DataTable nel quale caricare i dati.Se si passa il nome di un oggetto DataSet anziché quello di una specifica tabella di dati, un oggetto DataTable denominato Table1 verrà aggiunto al dataset e caricato con i risultati del database (anziché caricare i dati in un oggetto DataTable esistente nel dataset).Per ulteriori informazioni, vedere Populating a DataSet from a DataAdapter.

Vedere anche

Concetti

Inserimento di dati nei dataset

Recupero di dati nell'applicazione

Preparazione dell'applicazione al ricevimento di dati

Associazione di controlli ai dati in Visual Studio

Modifica di dati nell'applicazione

Convalida dei dati

Salvataggio di dati