Procedura: impostare l'ordine per l'esecuzione di un aggiornamento gerarchico
Quando si salvano i dati modificati di un dataset in un database con l'aggiornamento gerarchico attivato, è possibile controllare l'ordine utilizzato dal TableAdapterManager per inviare i singoli comandi di inserimento, aggiornamento ed eliminazione necessari per salvare i dati. I comandi per un aggiornamento gerarchico vengono eseguiti in base al seguente ordine predefinito: inserimento, aggiornamento ed eliminazione. TableAdapterManager fornisce la proprietà UpdateOrder che può essere impostata per eseguire prima il comando di aggiornamento, quindi il comando di inserimento e infine il comando di eliminazione.
È importante comprendere che per impostazione predefinita TableAdapterManager esegue prima il comando di inserimento, quindi il comando di aggiornamento e infine il comando di eliminazione per tutte le tabelle del dataset.
La modifica dell'ordine di aggiornamento in modo da eseguire prima il comando di aggiornamento può risultare utile quando si modificano i valori della chiave primaria per i record esistenti. Se si esegue prima il comando aggiornamento, il record esistente verrà modificato nel modo previsto. Se invece si esegue prima il comando di inserimento, verrà creato un nuovo record poiché la nuova chiave primaria non risulta ancora presente nel database.
Procedura
Per impostare l'ordine di esecuzione di un aggiornamento gerarchico
In visualizzazione Progettazione aprire il form contenente il TableAdapterManager che esegue l'aggiornamento.
Fare clic su TableAdapterManager nella barra dei componenti.
Nella finestra Proprietà impostare la proprietà UpdateOrder sull'ordine desiderato per l'applicazione.
Per impostare l'ordine di esecuzione di un aggiornamento gerarchico a livello di codice
Nel codice seguente TableAdapterManager viene impostato in modo da eseguire prima tutti i comandi di aggiornamento, quindi tutti i comandi di inserimento e infine tutti comandi di eliminazione. Sostituire yourDataSetTableAdapters con un nome valido per il progetto utilizzato.
Me.TableAdapterManager.UpdateOrder = _ yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.UpdateInsertDelete
this.tableAdapterManager.UpdateOrder = yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.UpdateInsertDelete;
Nel codice seguente TableAdapterManager viene impostato in modo da eseguire prima tutti i comandi di inserimento, quindi tutti i comandi di aggiornamento e infine tutti i comandi di eliminazione. Questo è il comportamento predefinito di TableAdapterManager.
Me.TableAdapterManager.UpdateOrder = _ yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
this.tableAdapterManager.UpdateOrder = yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
Vedere anche
Attività
Procedura: abilitare e disabilitare l'aggiornamento gerarchico
Procedura dettagliata: salvataggio dei dati dalle tabelle dati correlate (aggiornamento gerarchico)