Чтобы упростить задачу, вы можете использовать DataAdapter
, где вы можете установить свои команды SELECT, INSERT, UPDATE, DELETE.
Итак, после того, как DataAdapter
заполнит ваш DataSet
/ DataTable
вместо использования команды напрямую, он сможет автоматически обнаруживать измененные изменения записей и использовать соответствующий метод (INSERT / UPDATE / DELETE), когда вы вызываете только метод DataAdapter Update
.
DataAdapter
имеет метод Fill
, который использует команду «SELECT» и команду Update
, использующую вставку / обновление / удаление на основе RowState
свойство DataRow. Поэтому, когда вы удаляете / добавляете / изменяете строку, она просто меняет ее состояние. Состояние строк будет каким-то образом «Изменено» до тех пор, пока вы не AcceptChanges
- что на самом деле делает Update
метод DataAdapter
. Например, вы заполнили некоторую таблицу данных с помощью DataAdapter, а затем удалили некоторую DataRow - строка все еще существует в DataTable, но в состоянии «Удалено». Теперь, когда вы выполняете метод «Обновить» адаптера данных с параметром DataTable, который вы только что изменили, DataAdapter ищет строки, измененные каким-либо образом, и выполняет соответствующие SQL команды для строк (в случае DeleteCommand).
Чтобы использовать все команды, вы должны установить правильные свойства SqlDataAdapter
UpdateCommand
InsertCommand
DeleteCommand