ВУЗ:
Составители:
Рубрика:
124
DataTable = <таблица> = <множество полей, столбцов, колонок> =
= <множество объектов DataColumn>.
DataTable = <таблица> = <множество строк> = <множество объектов DataRow>.
DataColumn = <столбец, поле, колонка>.
DataRow = <строка>.
DataRelation = <связь между таблицами>.
Возникает вопрос: для чего нужны эти объекты, если можно обходились
и без них для вывода содержимого таблицы, например в элемент DataGridView?
Дело в том, что для простого отображения информации создавать эти объекты
не требуется, но в этом случае все данные будут однородными текстовыми пе-
ременными, подобно таблицам в документе Microsoft Word. DataSet не может
сам сформировать структуру данных – тип переменных, первичные и вторич-
ные ключи, связи между таблицами. Для управления такой структурой, для ее
адекватного отображения (например, вывод информации с привязкой к элемен-
там, создаваемым в режиме работы приложения) и нужно определение этих
объектов.
Программное создание объектов DataTable и DataColumn
Как было сказано выше, все объекты ADO можно создать программно.
Например, создание таблицы и столбцов:
DataSet dsTests = new System.Data.DataSet();
//
// dsTests
//
dsTests.DataSetName = "NewDataSet";
dsTests.Locale = new System.Globalization.CultureInfo("ru–RU");
Отметим, что в последней строке указывается информация о националь-
ных настройках таблицы: ru–RU. Она необходима в том случае, если разрабаты-
ваемое приложение будет использоваться вне страны, в которой оно было раз-
работано (в данном случае – России).
Создадим теперь объект DataTable для таблицы Questions (вопросы):
DataTable dtQuestions = dsTests.Tables.Add("Questions");
//Или
//DataTable dtQuestions = new DataTable("Questions");
//dsTests.Tables.Add(dtQuestions);
Здесь создается экземпляр dtQuestions объекта DataTable, затем вызывается
метод Add свойства Tables объекта dsTests, которому передается название табли-
цы Questions. Далее создаем поля в объекте dtQuestions:
DataColumn dсQuestID = dtQuestions.Columns.Add("questID", typeof(Int32));
dсQuestID.Unique = true;
DataColumn dcQuestion = dtQuestions.Columns.Add("question");
DataColumn dcQuestType = dtQuestions.Columns.Add("questType", typeof(Int32));
Страницы
- « первая
- ‹ предыдущая
- …
- 122
- 123
- 124
- 125
- 126
- …
- следующая ›
- последняя »