Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

2007 г.

Основы ADO .NET
Лекция из курса «Введение в программирование на C# 2.0»

Марченко Антон Леонардович
Интернет-Университет Информационных Технологий, INTUIT.ru

Назад Оглавление Вперёд

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

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

Для внешнего окружения – это всего лишь файл с расширением .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, в которых можно наблюдать согласованные множества записей. Для каждого клиента наблюдаем множество заказов.

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

Назад Оглавление Вперёд

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...