Реклама:

System.Type.GetType("System.String")); DataColumn Fakultet = new DataColumn("Fakultet",

System.Type.GetType("System.String"));

//---добавление столбцов в таблицу

Kaf.Columns.Add(KK);

Kaf.Columns.Add(Nazv);

Kaf.Columns.Add(Fakultet);

//---задание первичного ключа таблицы

Kaf.PrimaryKey = new DataColumn[] {KK};

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

DataTable Prep = new DataTable("Prep");

//---создание столбцов для Prep

DataColumn KKp = new DataColumn("KK", System.Type.GetType("System.Intl6")); DataColumn KP = new DataColumn("KP", System.Type.GetType("System.Intl6")); DataColumn FIO = new DataColumn("FIO", System.Type.GetType("System.String"));

//---добавление столбцов в таблицу Prep

Prep.Columns.Add(KKp);

Prep.Columns.Add(KP);

Prep.Columns.Add(FIO);

//---задание первичного ключа таблицы Prep

Prep.PrimaryKey = new DataColumn[]{KKp, KP};

//---создание нетипизированного набора данных

DataSet dataSetl = new DataSet();

//---добавление таблиц в набор данных

dataSetl.Tables.Add(Kaf); dataSetl.Tables.Add(Prep);

//---создание отношения между таблицами Kaf и Prep

DataRelation drl = new DataRelation("KafToPrep", dataSet1.Tables["Kaf"].Columns["KK"],

dataSet1.Tables["Prep"].Columns["KK"], true);

//---и добавление этого отношения в набор данных

dataSetl.Relations.Add(drl);

//---заливка данных в таблицу

aKaf.Fill(dataSet1, "Kaf"); aPrep.Fill(dataSet1, "Prep");

//---связывание dataGrid и таблиц

//---нетипизированного набора

dataGrid1.DataSource = dataSet1; dataGrid2.DataSource = dataSet1; dataGrid1.DataMember = "Kaf"; dataGrid2.DataMember = "Kaf.KafToPrep";

В форме приложения (рис. 3.56) видим, как элемент управления dataGrid2 показывает не все записи дочерней таблицы Prep, а только подчиненные текущей записи в родительской таблице Kaf.

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 3.56

3.4. Таблицы данных

Каждая таблица данных - это объект класса System.Data.DataTable. В таблице хранятся сведения о ее структуре и собственно данные.

3.4.1. Таблица данных: обзор

Имя таблицы возвращается ее свойством

public string TableName {get; set;}

Структура таблицы данных определяется:

• качественными и количественными характеристиками столбцов таблицы;

• ограничениями, накладываемыми на хранящиеся в таблице данные.

Ссылка на коллекцию столбцов таблицы данных возвращается ее свойством Columns. Каждый элемент этой коллекции - объект столбца - имеет тип

System.Data.DataColumn.

Ограничения, накладываемые на таблицу, могут быть двух типов:

• UniqueConstraint - содержит все столбцы, входящие в состав первичного ключа; также ограничение этого типа задается для каждого столбца таблицы, который должен содержать уникальные (неповторяющиеся) значения и который при этом не входит в состав первичного ключа;

• ForeignKeyConstraint - содержит все столбцы, входящие в состав внешнего ключа, который задается, только если таблица выступает в качестве дочерней в одном из отношений (объект DataRelation), явно созданных в наборе данных.


⇐ Предыдущая страница| |Следующая страница ⇒