Eliminazione di DataRowDataRow Deletion

Sono disponibili due metodi è possibile utilizzare per eliminare un DataRow dell'oggetto da un DataTable oggetto: il rimuovere metodo il DataRowCollection oggetto e il Delete metodo il DataRowoggetto.There are two methods you can use to delete a DataRow object from a DataTable object: the Remove method of the DataRowCollection object, and the Delete method of the DataRow object. Mentre il Remove metodo elimina un DataRow dal DataRowCollection, Delete metodo contrassegna solo la riga per l'eliminazione.Whereas the Remove method deletes a DataRow from the DataRowCollection, the Delete method only marks the row for deletion. La rimozione effettiva si verifica quando l'applicazione chiama il AcceptChanges metodo.The actual removal occurs when the application calls the AcceptChanges method. L'utilizzo di Delete consente di verificare a livello di programmazione le righe contrassegnate per l'eliminazione prima che vengano eliminate effettivamente.By using Delete, you can programmatically check which rows are marked for deletion before actually removing them. Quando una riga è contrassegnata per l'eliminazione, la relativa proprietà RowState è impostata su Delete.When a row is marked for deletion, its RowState property is set to Delete.

Delete e Remove non devono essere chiamato in un ciclo foreach durante l'iterazione tramite un oggetto DataRowCollection.Neither Delete nor Remove should be called in a foreach loop while iterating through a DataRowCollection object. Delete e Remove non modificano lo stato della raccolta.Delete nor Remove modify the state of the collection.

Quando si utilizza un DataSet o DataTable in combinazione con un DataAdapter e un'origine dati relazionale, utilizzare il eliminare metodo il DataRow per rimuovere la riga.When using a DataSet or DataTable in conjunction with a DataAdapter and a relational data source, use the Delete method of the DataRow to remove the row. Il eliminare metodo contrassegna la riga come Deleted nel DataSet o DataTable , ma non rimuoverla.The Delete method marks the row as Deleted in the DataSet or DataTable but does not remove it. Invece, quando il DataAdapter rileva una riga contrassegnata come Deleted, viene eseguito il relativo DeleteCommand metodo per eliminare la riga nell'origine dati.Instead, when the DataAdapter encounters a row marked as Deleted, it executes its DeleteCommand method to delete the row at the data source. La riga può quindi essere rimossi in modo permanente utilizzando il AcceptChanges metodo.The row can then be permanently removed using the AcceptChanges method. Se si utilizza rimuovere per eliminare la riga, la riga viene rimossa completamente dalla tabella, ma la DataAdapter non eliminerà la riga nell'origine dati.If you use Remove to delete the row, the row is removed entirely from the table, but the DataAdapter will not delete the row at the data source.

Il rimuovere metodo il DataRowCollection accetta un DataRow come argomento e la rimuove dalla raccolta, come illustrato nell'esempio seguente.The Remove method of the DataRowCollection takes a DataRow as an argument and removes it from the collection, as shown in the following example.

workTable.Rows.Remove(workRow)  
workTable.Rows.Remove(workRow);  

Al contrario, nell'esempio seguente viene illustrato come chiamare il eliminare metodo su un DataRow per modificare il relativo RowState per Deleted .In contrast, the following example demonstrates how to call the Delete method on a DataRow to change its RowState to Deleted.

workRow.Delete  
workRow.Delete();  

Se una riga è contrassegnata per l'eliminazione e si chiama il AcceptChanges metodo il DataTable dell'oggetto, la riga viene rimossa dal DataTable.If a row is marked for deletion and you call the AcceptChanges method of the DataTable object, the row is removed from the DataTable. Al contrario, se si chiama RejectChanges, RowState della riga viene ripristinato in vigore prima di essere contrassegnato come Deleted.In contrast, if you call RejectChanges, the RowState of the row reverts to what it was before being marked as Deleted.

Nota

Se il RowState di un DataRow è Added, ovvero è stata appena aggiunta alla tabella e quindi viene contrassegnato come Deleted, è rimosso dalla tabella.If the RowState of a DataRow is Added, meaning it has just been added to the table, and it is then marked as Deleted, it is removed from the table.

Vedere ancheSee Also

DataRow
DataRowCollection
DataTable
Manipolazione di dati in un oggetto DataTableManipulating Data in a DataTable
Provider gestiti ADO.NET e Centro per sviluppatori di set di datiADO.NET Managed Providers and DataSet Developer Center