Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод вказ до комп практ ВП 2012-13.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
24.74 Mб
Скачать

1.1 Класс DataTable (таблицы)

Объект типа DataTable представляет собой таблицу базы данных. Такой объект может быть создан путем запроса к базе данных или программно, как показано далее:

//создание таблицы

DataTable t = new DataTable();

//создание полей (колонок) с помощью конструктора

DataColumn dc = new DataColumn(“height”, System.Type.GetType(“System.Int32”));

DataColumn dc1 = new DataColumn(“name”, System.Type.GetType(“System.String”));

//добавление этих полей в таблицу

t.Columns.Add(dc);

t.Columns.Add(dc1);

Для получения совокупности столбцов объект DataTable имеет свойство Columns, возвращающее DataColumnCollection, которое в свою очередь состоит из объектов типа DataColumn. Каждый объект DataColumn представляет собой отдельный столбец таблицы, из которого можно получить любую запись.

Объект DataTable содержит ссылки на объекты, которые описывают структуру таблицы, и ее данные. Для этой цели объект типа DataTable состоит из нескольких коллекций, приведенных в табл.1.

Таблица 1. Коллекции объекта типа DataTable.

Коллекция

Описание

Columns

это коллекция содержит специальные объекты, которые имеют тип DataColumn и представляют собой описание конкретного столбца в таблице. Эти данные включают имя столбца, тип данных, а также информацию о том, могут ли храниться в этом столбце значения типа NULL

Row

в отличие от объектов типа DataColumn, которые содержат информацию о столбцах, эта коллекция содержит объекты, которые не описывают информацию об объекте DataTable, а содержат реальные данные из таблицы. Эти объекты имеют тип DataRow

Constraints

включает коллекцию объектов типа Constraint. Каждый из таких объектов описывает ограничение на один или несколько столбцов в таблице. Класс Constraint является абстрактным, поэтому в качестве конкретных объектов в этой коллекции могут использоваться экземпляры класса, порожденные от класса Constraint

ChildRelations

именно эта коллекция содержит данные о связях между таблицами. Экземплярами этой коллекции являются объекты класса DataRelation, которые позволяют устанавливать связи между основным ключом одной таблицы и вторичным другой. Используйте это объект, чтобы запрограммировать получение данных из дочерней таблицы на основании записи из главной, либо наоборот, по данным из записи в дочерней таблице выбрать данные из родительской

PrimaryKey

содержит массив колонок, которые являются первичным ключом для таблицы, т.е. для хранения информации о первичном ключе необходимо использовать свойство DataTable.PrimaryKey, которое хранит массив объектов DataColumn.

Различия между двумя схожими методами объекта класса DataTable приведены в таблице 2.

Таблица 2. Описание методов Clone() и Copy().

Метод

Описание

Clone()

этот метод позволяет создавать новый объект типа DataTable, который имеет структуру, полностью повторяющую структуру родительского объекта. Этот метод копирует только структуру объекта и не копирует данные, которые, возможно в нем содержатся.

Copy()

этот метод создает новый объект типа DataTable, который имеет структуру, повторяющую структуру родительского объекта, а также содержит данные, которые являются копиями данных родительского объекта DataTable.