DataRow Silme
Nesneden bir DataRow nesneyi silmek için kullanabileceğiniz iki yöntem vardır: nesnenin DataRowCollection Remove yöntemi ve Delete DataRow nesnesinin DataTable yöntemi. Remove yöntemi DataRowCollection'dan bir DataRow silerken, Delete yöntem yalnızca satırı silinmek üzere işaretler. Gerçek kaldırma, uygulama AcceptChanges yöntemini çağırdığında gerçekleşir. kullanarak Delete, gerçekten kaldırmadan önce hangi satırların silinmek üzere işaretleneceğini program aracılığıyla de kontrol edebilirsiniz. Bir satır silinmek üzere işaretlendiğinde, RowState özelliği olarak Deleteayarlanır.
Ne de Delete Remove bir nesne üzerinden DataRowCollection yinelenirken foreach döngüsünde çağrılmamalıdır. Delete veya Remove koleksiyonun durumunu değiştirme.
DataAdapter ve ilişkisel veri kaynağıyla birlikte veya DataTable kullanırkenDataSet, satırı kaldırmak için DataRow'un Delete yöntemini kullanın. Delete yöntemi, satırı DataSet veya DataTable'da Silinmiş olarak işaretler ancak kaldırmaz. Bunun yerine, DataAdapter Silinmiş olarak işaretlenmiş bir satırla karşılaştığında, veri kaynağındaki satırı silmek için DeleteCommand yöntemini yürütür. Satır daha sonra AcceptChanges yöntemi kullanılarak kalıcı olarak kaldırılabilir. Satırı silmek için Kaldır'ı kullanırsanız, satır tablodan tamamen kaldırılır, ancak DataAdapter veri kaynağındaki satırı silmez.
DataRowCollection'ın Remove yöntemi, aşağıdaki örnekte gösterildiği gibi bir DataRow'ı bağımsız değişken olarak alır ve koleksiyondan kaldırır.
workTable.Rows.Remove(workRow)
workTable.Rows.Remove(workRow);
Buna karşılık, aşağıdaki örnekte Bir DataRow'da Delete yöntemini çağırarak RowState değerinin Silinmiş olarak nasıl değiştirildiği gösterilmektedir.
workRow.Delete
workRow.Delete();
Bir satır silinmek üzere işaretlenmişse ve DataTable nesnesinin AcceptChanges yöntemini çağırırsanız, satır DataTable'dan kaldırılır. Buna karşılık, RejectChanges'i çağırırsanız, satırın RowState değeri Silinmiş olarak işaretlenmeden önceki durumuna geri döner.
Not
DataRow'un RowState değeri Eklendi ise, yani tabloya yeni eklendiyse ve sonra Silinmiş olarak işaretlendiyse, tablodan kaldırılır.