Udostępnij za pośrednictwem


Usuwanie DataRow

Istnieją dwie metody, których można użyć do usunięcia DataRow obiektu z DataTable obiektu: metody DataRowCollection obiektu i Delete metody obiektu DataRow. Natomiast metoda Remove usuwa DataRow z DataRowCollection, metoda Delete tylko oznacza wiersz do usunięcia. Rzeczywiste usunięcie występuje, gdy aplikacja wywołuje metodę AcceptChanges . Za pomocą polecenia Deletemożna programowo sprawdzić, które wiersze są oznaczone do usunięcia przed ich usunięciem. Gdy wiersz jest oznaczony do usunięcia, jego RowState właściwość jest ustawiona na Delete.

pl-PL: Ani Delete ani Remove nie należy wywoływać w pętli foreach podczas iterowania obiektu DataRowCollection. Delete ani Remove nie modyfikują stanu kolekcji.

W przypadku używania elementu DataSet lub DataTable w połączeniu z elementem DataAdapter i źródłem danych relacyjnych użyj metody Delete elementu DataRow , aby usunąć wiersz. Metoda Delete oznacza wiersz jako Usunięty w elemecie DataSet lub DataTable , ale nie usuwa go. Zamiast tego, gdy obiekt DataAdapter napotka wiersz oznaczony jako Usunięty, wykonuje metodę DeleteCommand , aby usunąć wiersz w źródle danych. Wiersz można następnie trwale usunąć przy użyciu metody AcceptChanges . Jeśli usuniesz wiersz za pomocą polecenia Usuń , wiersz zostanie całkowicie usunięty z tabeli, ale element DataAdapter nie usunie wiersza w źródle danych.

Metoda Remove kolekcji DataRowCollection przyjmuje element DataRow jako argument i usuwa go z kolekcji, jak pokazano w poniższym przykładzie.

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

Z kolei w poniższym przykładzie pokazano, jak wywołać metodę Delete w obiekcie DataRow , aby zmienić jej wartość RowState na Usunięto.

workRow.Delete  
workRow.Delete();  

Jeśli wiersz zostanie oznaczony do usunięcia i wywołasz metodę AcceptChanges obiektu DataTable , wiersz zostanie usunięty z tabeli DataTable. Natomiast jeśli wywołasz metodę RejectChanges, element RowState wiersza powróci do tego, co było wcześniej oznaczone jako Usunięte.

Uwaga / Notatka

Jeśli element RowState elementu DataRow jest dodawany, co oznacza, że właśnie został dodany do tabeli, a następnie jest oznaczony jako Usunięty, zostanie usunięty z tabeli.

Zobacz także