Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo DataSet.Merge (DataRow[])

 

Data di pubblicazione: ottobre 2016

Unisce una matrice di DataRow oggetti nell'oggetto corrente DataSet.

Spazio dei nomi:   System.Data
Assembly:  System.Data (in System.Data.dll)

public void Merge(
	DataRow[] rows
)

Parametri

rows
Type: System.Data.DataRow[]

Matrice di DataRow gli oggetti da unire il DataSet.

Il Merge metodo viene utilizzato per unire due DataSet gli oggetti che contengono schemi molto simili. Un'unione viene in genere utilizzata in un'applicazione client per incorporare le modifiche più recenti da un'origine dati in un oggetto esistente DataSet. In questo modo l'applicazione client per un aggiornamento DataSet con i dati più recenti dall'origine dati.

Il Merge viene in genere chiamato alla fine di una serie di procedure che comportano la convalida delle modifiche, la risoluzione degli errori, aggiornare l'origine dati con le modifiche e infine l'aggiornamento esistente DataSet.

In un'applicazione client, è normale che un singolo pulsante che l'utente può scegliere di raccoglie i dati modificati e convalidarli prima di inviarlo a un componente di livello intermedio. In questo scenario, il GetChanges viene prima richiamato metodo. Questo metodo restituisce un secondo DataSet ottimizzato per la convalida e l'unione. Questo secondo DataSet oggetto contiene solo il DataTable e DataRow gli oggetti che sono stati modificati, causando un sottoinsieme dell'originale DataSet. Questo subset è generalmente più ridotta e pertanto in modo più efficiente passato a un componente di livello intermedio. Il componente di livello intermedio quindi aggiorna l'origine dei dati con le modifiche tramite stored procedure. Il livello intermedio può quindi inviare nuovamente un nuovo DataSet che include i dati originali e i dati più recenti dall'origine dati (se eseguire nuovamente la query originale) o restituire il sottoinsieme con eventuali modifiche apportate all'origine dati. (Ad esempio, se l'origine dati crea automaticamente i valori di chiave primari univoca, questi valori possono essere propagati all'applicazione client.) In entrambi i casi, l'oggetto restituito DataSet possono essere reinseriti nell'originale dell'applicazione client DataSet con il Merge metodo.

Quando il Merge metodo viene chiamato, gli schemi dei due DataSet gli oggetti vengono confrontati perché è possibile che gli schemi potrebbero essere stati modificati. Ad esempio, in uno scenario business-to-business, nuove colonne possono aggiunti a uno schema XML da un processo automatizzato. Se l'origine DataSet contiene gli elementi dello schema (aggiunto DataColumn oggetti) che non sono presenti nel database di destinazione, è possono aggiungere gli elementi dello schema di destinazione impostando il missingSchemaAction argomento MissingSchemaAction.Add. In tal caso, l'oggetto unito DataSet contiene i dati e lo schema aggiunto.

Dopo l'unione di schemi, i dati vengono uniti.

Quando si uniscono una nuova origine DataSet nella destinazione, qualsiasi origine le righe con un DataRowState valore Unchanged, Modified, o Deleted corrispondono alle righe di destinazione con gli stessi valori di chiave primari. Origine le righe con un DataRowState valore Added corrispondono alle nuove righe di destinazione con gli stessi valori di chiave primari delle nuove righe di origine.

Durante un'unione, i vincoli sono disabilitati. Se tutti i vincoli non sono abilitati alla fine di un'unione, un ConstraintException viene generato e i dati uniti verranno mantenuti, mentre i vincoli sono disabilitati. In questo caso, il EnforceConstraints è impostata su false, e tutte le righe che non sono valide sono segnalate come errori. È necessario risolvere gli errori prima di tentare di reimpostare il EnforceConstraints proprietà true.

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: