Работа с базами данных на языке C#. Технология АDO .NET. Евсеева О.Н - 125 стр.

UptoLike

Составители: 

125
Мы создаем поля, нужные для отражения соответствующих столбцов в
таблице Questions. Перегруженный метод Add свойства Columns объекта
dtQuestions позволяет задавать название столбца и его тип данных (рис. 105).
Рис. 105. Создание поля
Свойство Unique указывает, что в этом поле не должно быть повторяю-
щихся значений, оно должно быть уникальным (здесьполе questID является
первичным ключом таблицы Questions).
Точно так же создаем объект DataTable для таблицы Variants (варианты отве-
тов) и соответствующие поля:
//Cоздаем таблицу "Variants"
DataTable dtVariants = dsTests.Tables.Add("Variants");
//Заполняем поля таблицы "Variants"
DataColumn dcID = dtVariants.Columns.Add("id", typeof(Int32));
dcID.Unique = true;
dcID.AutoIncrement = true;
DataColumn dcVariantQuestID = dtVariants.Columns.Add("questID", typeof(Int32));
DataColumn dcVariant = dtVariants.Columns.Add("variant");
DataColumn dcIsRight = dtVariants.Columns.Add("isRight", typeof(Boolean));
Здесь мы дополнительно установили свойству AutoIncrement объекта dcID
значение true. Свойство AutoIncrement (счетчик) позволяет создать счетчик для
поля, аналогичный типу данных «Счетчик» в Microsoft Access.
Теперь приступим к созданию связи между таблицами. В базе данных
между родительской таблицей Questions и дочерней Variants была бы установле-
на связь по полю questID, которое присутствует в обеих таблицах. При про-
граммном создании объектов для поля questID таблицы Questions был создан
объект dсQuestID, для этого же поля таблицы Variants создан объект
dcVariantQuestID. В коде создание связи между таблицами будет иметь следую-
щий вид:
DataRelation drQuestionsVariants = new DataRelation("QuestionsVariants",
dсQuestID, dcVariantQuestID);
dsTests.Relations.Add(drQuestionsVariants);