Usuwanie DataRow z DataTable

25-Sty-2011

Poniższe przykłady dotyczą Strongly Typed DataSet. Jeżeli pracuje się bez niego to odwołuje sie do kolekcji Rows każdej tabeli np.:

 dt.Rows.Remove(dt.Rows.Find(myId)); 

Do usunięcia pojedynczego wiersza z tabeli użyj:

  • Delete i AcceptChanges, jeżeli usunięcie ma dotyczyć fizycznych danych z bazy danych:
    dtOrders.FindByOrderId(myId).Delete();
    dtOrders.AcceptChanges();
    Po wywołaniu metody Delete rekord jest jedynie zaznaczany do usunięcia. Metoda AcceptChanges na podstawie zaznaczonej przez Delete() właściwości RowState==”Deleted” wysyła zmiany do bazy danych. Pozwala to efektywnie posłać większą porcję zmian do bazy danych.
  • Remove – aby usunąć wiersz jedynie z pamieciowej reprezentacji tabeli:
    dtOrders.RemoveOrdersRow(dtOrders.FindByOrderId(myId));
    W tym przypadku jest usuwany rekord (wiersz) ale tylko z tabeli znajdującej się w pamięci.

 

Dodaj komentarz:

Autor: Rafał Kraik