Типизированный объект DataSet. Чтение и запись XML-документов
Получение информации о структуре объекта DataSet
После загрузки схемы в объект DataSet можно получить информацию о его структуре - таблицах, столбцах, отношениях между таблицами. Для этого применяются свойства, приведенные в таблице 11.7.
Скопируйте папку приложения TypedDataSet и назовите ее "Structure TypedDataSet". Свойству Dock элемента DataGrid, расположенного на форме, устанавливаем значение "Left". Добавляем элемент Splitter. Перетаскиваем элемент RichTextBox, свойству Dock устанавливаем значение "Fill", удаляем название в поле свойства Text. В конструкторе формы после создания всех объектов добавляем следующий код:
public Form1()
{
...
richTextBox1.Text+= ("Структура объекта DataSet." +
dsTour.DataSetName);
//Вывод количества таблиц и отношений
richTextBox1.Text+= ("\nКоличество таблиц: "+
dsTour.Tables.Count.ToString());
richTextBox1.Text+= ("\nКоличество отношений: "+
dsTour.Relations.Count.ToString());
for(int i=0;i<dsTour.Tables.Count;i++)
{
//Вывод названий таблиц
richTextBox1.Text+=( "\n"+"\n Таблица: "+
dsTour.Tables[i].TableName.ToString());
richTextBox1.Text+=(" из "+dsTour.Tables[i]. Columns.Count.ToString() +
" столбцов"+"\n");
for(int j=0;j<dsTour.Tables[i].Columns.Count;j++)
{
//Вывод названий столбцов и их типов данных
richTextBox1.Text+=("\nСтолбец: "+
dsTour.Tables[i].Columns[j].ColumnName.ToString()+
" тип данных: "+ dsTour.Tables[i].Columns[j].DataType);
}
}
//Вывод названий связанных таблиц и отношений
for(int k = 0; k<dsTour.Relations.Count; k++)
{
richTextBox1.Text+= ("\n"+"\nРодительская таблица: " +
dsTour.Relations[k].ParentTable+ " --- отношение: " +
dsTour.Relations[k].ParentKeyConstraint +
" --- дочерняя таблица: " +
dsTour.Relations[k].ChildTable);
}
}Запускаем приложение. В текстовое поле выводится информация о таблицах, полях, отношениях (рис. 11.24):
В программном обеспечении к курсу вы найдете приложение Structure TypedDataSet (Code\Glava5\ StructureTypedDataSet).
