ВУЗ:
Составители:
Рубрика:
126
Здесь в конструкторе объекта DataRelation имя drQuestionsVariants – назва-
ние экземпляра объекта (класса) DataRelation, а строка "QuestionsVariants" – пере-
даваемое конструктору свойство relationName – название связи, которая будет
содержаться в создаваемом объекте drQuestionsVariants. Другими словами,
drQuestionsVariants – название экземпляра DataRelation, которое будем использо-
вать в коде, а свойство relationName – всего лишь название отражаемой связи,
которую можно удалить или переименовать.
Таким образом, можно программно создавать все объекты для отображе-
ния таблиц, полей и даже связей между таблицами.
Свойство PrimaryKey
Мы рассмотрели способ конструирования структуры таблицы в объекте
DataSet, а также как определять отношения между таблицами. Во всех случаях
для выделения первичного ключа в таблице использовалось свойство Unique.
Например, первичный ключ «Код туриста» для таблицы «Туристы» определял-
ся так:
DataColumn dcTouristID = new DataColumn("Код туриста", typeof(int));
dcTouristID.Unique = true;
А для таблицы вариантов ответов «Variants»:
DataColumn dcID = dtVariants.Columns.Add("id", typeof(Int32));
dcID.Unique = true;
dcID.AutoIncrement = true;
Для вывода таблиц идентификации записей этого определения вполне
хватает. Однако свойство Unique всего лишь указывает на уникальность задан-
ного поля, т. е. на отсутствие повторяющихся записей.
В самом деле, в таблице может быть несколько полей, которые должны
быть уникальными, и одно из них (или их комбинация) будут образовывать
первичный ключ. Для указания именно первичного ключа используется свойст-
во PrimaryKey объекта DataTable:
DataTable dtTourists = new DataTable("Туристы");
DataColumn dcTouristID = new DataColumn("Код туриста", typeof(int));
dtTourists.PrimaryKey = new DataColumn [] {dtTourists.Columns["Код туриста"]};
В сокращенной записи определение будет такое:
dtTourists.Columns.Add("Код туриста", typeof(int));
dtTourists.PrimaryKey = new DataColumn [] {dtTourists.Columns["Код туриста"]};
Можно применять комбинацию полей для задания первичного ключа:
DataTable dtTourists = new DataTable("Туристы");
DataColumn dcTouristID = new DataColumn("Код туриста", typeof(int));
DataColumn dcLastName = new DataColumn("Фамилия",typeof(string));
dtTourists.PrimaryKey =
new DataColumn [] {dtTourists.Columns["Код туриста"],dtTourists.Columns["Фамилия"]};
Страницы
- « первая
- ‹ предыдущая
- …
- 124
- 125
- 126
- 127
- 128
- …
- следующая ›
- последняя »