Российский Государственный Технологический Университет им. К.Э. Циолковского
Опубликован: 02.03.2007 | Доступ: свободный | Студентов: 5678 / 802 | Оценка: 3.96 / 3.45 | Длительность: 27:04:00
ISBN: 978-5-9556-0086-4
Лекция 18:

Основы ADO .NET

< Лекция 17 || Лекция 18: 123456789101112

Подключение к БД на этапе разработки приложения

Для продолжения экспериментов воспользуемся базой-примером "Северные ветры".

Для внешнего окружения – это всего лишь файл с расширением .mdb.

В нашем случае –

E:\Program Files\Microsoft Office\Office10\Samples\Борей.mdb.

Ближайшей задачей будет разработка простого Windows-приложения, обеспечивающего просмотр содержащейся в базе информации о клиентах и их заказах.

Внешний вид формы приложения будет представлен несколькими текстовыми полями, в которых будет отображаться информация о клиенте, а также элементом DataGrid, где будет отображаться информация о связанных с клиентом заказах.

Один из возможных вариантов создания соединения средствами встроенных мастеров предполагает следующую последовательность шагов в рамках Visual Studio .NET 2005. Непосредственно перед началом работ по созданию приложения для наглядности рекомендуется держать открытым окно с информацией о базе данных (пункты меню Data.Show Data Sources):

  • для нового приложения выполняются действия, связанные с созданием объекта – представителя класса DataSet ( Data, Add New Data Source ). При этом осуществляются действия по установлению и тестированию соединения с базой данных, требуется ответить на вопрос по поводу возможности копирования информации из базы в директорию приложения (речь идет о локальной копии базы);
  • с использованием инструмента "Add Connection" объявляется тип источника данных (Microsoft Access Database File (OLE DB)) и определяется имя файла базы данных (файл "Борей.mdb"). Волшебник предоставляет возможность непосредственного тестирования устанавливаемого соединения;
  • в результате создается объект – представитель класса DataSet, построенный и настроенный применительно к данному приложению для работы с базой данных. О сложности этой конструкции можно судить по объему программного кода, подсоединяемого к проекту;
  • для исследования и редактирования его свойств DataSet предусмотрено средство DataSet Designer ;
  • свидетельством успешного установления соединения является возможность выполнения действия "Edit DataSet with designer", в результате которого в окошке NorthWinds.xsd визуализируется полная схема базы данных, включая таблицы и отношения между ними.

При этом в кодах приложения размещается соответствующий программный код, который обеспечивает создание объекта соединения соответствующего типа и с определенными параметрами.

Объект – представитель класса DataSet можно расположить на форме в виде компоненты. Объявление класса (включая строку соединения) можно будет попытаться проанализировать (файл имеет объем около 9000 строк), открыв файл БорейDataSet.Designer.sc.

Таким образом, процедура установления соединения с базой данных на этапе создания приложения целиком обеспечивается средствами "волшебников" в рамках работы по созданию приложения.

Продолжение разработки. Простые шаги

Продолжение работы по созданию простого приложения для работы с базой данных также не предусматривает непосредственной работы с программным кодом.

После создания объекта DataSet и трансляции кода приложения на панели инструментов появляется новая вкладка, предоставляющая возможность работы с автоматически объявленными классами – адаптерами таблиц. После чего работа по созданию приложения сводится к нескольким достаточно простым "волшебным" манипуляциям:

  • создается объект – представитель класса BindingSource, свойству DataSource которого присваивается ссылка на ранее созданный объект DataSet, а свойству DataMember – значение, связанное с определенной в базе данных таблицей "Клиенты";
  • это действие сопровождается созданием объекта – адаптера таблицы, условное обозначение которого появляется на панели компонентов формы, что делает адаптер доступным для возможной модификации и настройки;
  • получение информации из базы данных обеспечивается при помощи запросов к базе, которые также достаточно просто построить, запустив соответствующий "волшебник". Мышиный клик по пиктограмме адаптера на панели, вызов генератора запроса, далее – в соответствии с замыслом приложения и сценарием генератора. После создания запроса на панели компонентов формы появляется пиктограмма, обозначающая ранее построенный объект-представитель класса DataSet, а непосредственно на форме – инструментальная панель с элементом, который обеспечивает выполнение запроса, в результате которого через соответствующий адаптер таблицы производится заполнение объекта DataSet 'а;
  • для решения поставленной задачи необходимо дважды запустить генератор запросов для заполнения таблиц "клиенты" и "заказы". Генератор запускается "от существующего" адаптера таблицы. Процесс создания второго запроса сопровождается появлением второго адаптера таблицы. При этом на форме появляются две инструментальные панели, обеспечивающие загрузку информации при выполнении приложения;
  • информация о клиентах и заказах размещается в элементах управления типа TextBox (о клиентах) и элементе управления DataGrid (о заказах). Эти элементы размещаются на поверхности формы с последующей их привязкой к элементам DataSet 'а, при этом мастер создает объекты – представители класса BindingSource ;
  • для обеспечения навигации по данным используется комбинированный элемент управления BindingNavigator, который настраивается на один из объектов – представителей класса BindingSource (к моменту настройки навигатора таких объектов в приложении – два).

В результате получаем приложение, которое обеспечивает просмотр содержимого базы данных.

... и еще более простые шаги

На самом деле разработка простой формы для работы с базой данных требует еще меньше усилий. Можно совсем ничего не делать и получить готовую форму.

После создания объекта-представителя класса DataSet надо всего лишь "перетащить" на форму из окна Data Sources пиктограмму соответствующей таблицы базы данных. В случае с базой данных "Борей" – это пиктограмма таблицы "Клиенты". При этом автоматически к коду приложения добавляются соответствующие классы и элемент управления для навигации по таблице "Клиенты". Для визуализации множества записей, связанных с заказами клиентов, следует проделать следующие манипуляции:

  • "Раскрыть" в окне Data Sources пиктограмму, обозначающую таблицу "Клиенты". При этом становятся видимыми пиктограммы, отображающие столбцы таблицы, и пиктограмма связанной с таблицей "Клиенты" таблицы "Заказы".
  • На форму следует перетащить эту самую пиктограмму. В результате получаем форму с парой объектов DataGrid, в которых можно наблюдать согласованные множества записей. Для каждого клиента наблюдаем множество заказов.

Разработчику приложения остается упражняться в вариантах перетаскивания пиктограмм (перетаскивать можно пиктограммы отдельных полей таблицы) и медитировать над полученным кодом.

< Лекция 17 || Лекция 18: 123456789101112
kewezok kewezok
kewezok kewezok
Елена Шляхт
Елена Шляхт
Объясните плиз в чем отличие а++ от ++а
Почему результат разный?
int a=0, b=0;
Console.WriteLine(a++); //0
Console.WriteLine(++b); //1
a++;
++b;
Console.WriteLine(a); //2
Console.WriteLine(b); //2