Объекты класса DataTable представляют в оперативной памяти таблицы базы данных. Основным свойством данного класса является коллекция DataRows, в которой и хранятся объекты типа DataRow, содержащие данные записей таблицы БД. Также класс DataTable включает коллекцию DataColumns, которая описывает столбцы таблицы.
Над содержимым коллекции DataRows объекта DataTable можно выполнять следующие основные действия:
- • изменять значения объектов DataRow;
- • добавлять объекты DataRow;
- • удалять объекты DataRow.
Однако сделанные изменения не будут переноситься в базу данных до тех пор, пока не будет выполнено ее обновление с помощью объекта DataAdapter. При вызове метода Update () объекта DataAdapter на основе анализа сделанных изменений формируются SQL-команды UPDATE, INSERT и DELETE, необходимые для обновления базы данных.
Ограничения
Объекты Constraint определяют правила вставки строк в DataTable и управления содержимым этих объектов. Ограничения бывают двух типов — UniqueConstraint и ForeignKeyConstraint.
Ограничение UniqueConstraint запрещает добавлять в таблицу дублирующиеся элементы, обычно с этим ограничением определяют первичный ключ таблицы. ForeignKeyConstraint определяет правила обновления дочерних строк при изменении родительской строки.
Для создания ограничения сначала нужно создать экземпляр объекта, представляющего ограничение соответствующего типа, а затем добавляют его в коллекцию Constraints таблицы, на поле которого налагается ограничение. Ограничение будет действовать, только если значение свойства EnforceConstraints объекта DataSet установлено равным true.