ADO.NET is so highly intuitive, guess from the following which is the correct method for erasing a row from the datatable / database:

  1. dataTable.Rows.RemoveAt(0)
  2. dataTable.Rows[0].Delete()

The first variant removes the row from the collection but does not mark it as “deleted” (to be deleted on the next update on the tableadapter), while the second one works fine.

Update: of course you also need tableAdapter.Update( dataTable) so the adapter actually deletes the marked rows.