Bagikan melalui


Penghapusan DataRow

Ada dua metode yang dapat Anda gunakan untuk menghapus DataRow objek dari DataTable objek: metode DataRowCollection objek, dan Delete metode objek DataRow. Sedangkan Remove menghapus DataRow dari DataRowCollection, Delete metode tersebut hanya menandai baris data untuk dihapus. Penghapusan aktual terjadi ketika aplikasi memanggil metode AcceptChanges . Dengan menggunakan Delete, Anda dapat secara terprogram memeriksa baris mana yang ditandai untuk dihapus sebelum benar-benar menghapusnya. Saat baris ditandai untuk penghapusan, propertinya RowState diatur ke Delete.

Baik Delete maupun Remove tidak boleh dipanggil dalam perulangan foreach saat melakukan iterasi melalui DataRowCollection objek. Delete atau Remove mengubah status koleksi.

Saat menggunakan DataSet atau DataTable bersama dengan DataAdapter dan sumber data relasional, gunakan metode HapusDataRow untuk menghapus baris. Metode Hapus menandai baris sebagai Dihapus di Himpunan Data atau DataTable tetapi tidak menghapusnya. Sebagai gantinya, ketika DataAdapter menemukan baris yang ditandai sebagai Dihapus, DataAdapter menjalankan metode DeleteCommand untuk menghapus baris di sumber data. Baris kemudian dapat dihapus secara permanen menggunakan metode AcceptChanges . Jika Anda menggunakan Hapus untuk menghapus baris, baris dihapus sepenuhnya dari tabel, tetapi DataAdapter tidak akan menghapus baris di sumber data.

Metode HapusDataRowCollection mengambil DataRow sebagai argumen dan menghapusnya dari koleksi, seperti yang ditunjukkan dalam contoh berikut.

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

Sebaliknya, contoh berikut menunjukkan cara memanggil metode Hapus pada DataRow untuk mengubah RowState-nya menjadi Dihapus.

workRow.Delete  
workRow.Delete();  

Jika baris ditandai untuk penghapusan dan Anda memanggil metode AcceptChanges dari objek DataTable , baris dihapus dari DataTable. Sebaliknya, jika Anda memanggil RejectChanges, RowState baris kembali ke apa yang sebelumnya ditandai sebagai Dihapus.

Nota

Jika RowState dari DataRow adalah Added, artinya baru saja ditambahkan ke tabel, dan kemudian ditandai sebagai Deleted, maka akan dihapus dari tabel.

Lihat juga