Технология Microsoft ADO.NET

       

Загрузка XML-документов и XSD-схем в обычный объект DataSet


Рассмотрим теперь загрузку XML-документов в обычный объект DataSet. Скопируйте папку приложения TypedDataSetReadXML и переименуйте ее в "UntypedDataSetReadXML". Открываем проект, в окне Solution Explorer щелкаем правой кнопкой на объекте XSDTour_bd.xsd и выбираем пункт меню "Delete". В классе формы удаляем соответствующее объявление:

private TypedDataSet.XSDTour_bd dsTour;

Там же создаем экзмепляр dsTour:

DataSet dsTour;

Далее нам предстоит cделать небольшие исправления в коде. В обработчике пункта меню "Заполнить" инициализируем dsTour и изменяем очередность вызова метода ClearForm:

private void mnuFill_Click(object sender, System.EventArgs e) { ... ClearForm(); dsTour = new DataSet(); conn.Open(); dataAdapter.Fill(dsTour); dataAdapter2.Fill(dsTour); dataAdapter3.Fill(dsTour); dataAdapter4.Fill(dsTour); conn.Close();

dataGrid1.DataSource = dsTour; StructureDataSet(); }

Обработчики пунктов меню "Auto" и "Открыть схему" будут выглядеть так:

private void mnuAuto_Click(object sender, System.EventArgs e) { dsTour = new DataSet(); ClearForm(); ... } private void mnuReadXmlSchema_Click(object sender, System.EventArgs e) { dsTour = new DataSet(); ClearForm(); ... }

Наконец, в самом методе ClearForm добавляем проверку на наличие таблиц в объекте dsTour:

private void ClearForm() { if (dataGrid1.DataSource!=null) { dsTour.Clear(); } dataGrid1.DataSource = null; richTextBox1.Text = ""; }

Запускаем приложение. Теперь объект DataSet содержит текущую структуру документа XMLEasy.xml (рис. 11.29, А) и документа XMLTourFull.xml (рис. 11.29, Б), схему XMLTourFull.xsx (при выборе в качестве типа файлов All Files) (рис. 11.29, В) и конечно, структуру таблиц, загруженных из базы (рис. 11.29, Г). В последнем случае обратите внимание на то, что объект DataSet сам по себе не получает из базы сведений о связях между таблицами.


увеличить изображение
Рис. 11.29.  Приложение UntypedDataSetReadXML. А - загрузка документа XMLEasy.xml, Б - документ XMLTourFull.xml, В - схема XMLTourFull.xsx, Г - данные из базы

В программном обеспечении к курсу вы найдете приложение Untyped DataSetReadXML (Code\Glava5\ UntypedDataSetReadXML).



Содержание раздела