- •Задания для самостоятельной работы
- •Тема 1. Разработка клиентского приложения в среде ado.Net
- •Тема 2. Параллельное выполнение транзакций
- •Тема 3. Использование olap средств (дополнительно)
- •Приложение. Построение клиентского приложения в среде ado.Net
- •Организация интерфейса
- •Аутентификация пользователя
- •Вариант шифрования пароля
- •Выполнение хранимых процедур Подготовка
- •Подготовка соединения
- •Подготовка команды
- •Подготовка параметров
- •Выполнение команды select
- •Выполнение команды select count(*)
- •Выполнение других команд
- •Использование объекта типа DataSet
- •Создание фрагмента базы данных
- •Связывание таблиц с оконными формами
- •Именование объектов
- •Обмен данными с базой данных
- •Редактирование схемы
Тема 3. Использование olap средств (дополнительно)
1. Спроектировать схему типа «звезда» хранилища данных для анализа объема продаж по разным критериям: время, категория товаров, номенклатура товаров, регионы продаж, поставщики и др.
2. Создать хранилище данных в среде MS SQL Server, обеспечить загрузку таблиц измерений и фактов из оперативных источников.
3. Написать запросы, исследующие объемы продаж в зависимости от времени и каких-нибудь двух показателей, используя возможности OLAP систем для формирования запросов (ROLLAP и CUBE).
4. Выгрузить результаты запросов в MS Excel.
5. Построить диаграммы средствами MS Excel.
Приложение. Построение клиентского приложения в среде ado.Net
Для реализации клиента с помощью ADO.NET следует создать проект, в котором будут рассмотрены разные возможности использования ADO.NET:
выполнение предложения SELECT, возвращающего единственное значение;
выполнение хранимой процедуры, возвращающей результаты через output-параметры и через return value;
выполнение предложения SELECT, возвращающего множество строк, доступных на клиенте в режиме read only;
организация работы с объектом Data Set.
Организация интерфейса
Предусмотреть создание, по крайней мере, двух типов окон.
1. Следует организовать аутентификацию пользователя при входе пользователя в систему. Для этого предусмотреть окно аутентификации с текстовыми полями Login и Password и кнопкой Connect. При корректном входе в систему должно открыться главное окно.
2. Главное окно содержит необходимые поля для выполнения нужной операции – текстовые поля для ввода исходных данных и вывода результата и кнопку, инициирующую операцию. Если окно обслуживает несколько операций, для каждой должны быть подготовлены необходимые формы.
Для вывода отчета предусмотреть два способа: использование формы Data Grid, позволяющей отобразить весь отчет, и использование текстовых полей под одну строку результата с возможностью перемещаться по отчету вверх – вниз.
3. При создании требуемых объектов оконной формы в программу включаются необходимые переменные. Специфика Visual Studio.Net 2005 заключается в том, что в проект включаются два типа исходных файлов: в одном (с именем имя_формы.cs) определяются необходимые конструкторы и методы для организации приложения, в другом (с именем имя_формы.Designer.cs) размещаются все переменные.
4. Пример организации интерфейса.
Главная форма – смысловая, ее конструктор вызывает форму аутентификации. В главной форме создается класс с именем формы. В классе два основных метода, которые исполняются при инициации формы: имя_формы_Load() и конструктор имя_формы(). Следует внести необходимые команды в конструктор формы.
Для создания новой формы следует в проекте в окне Solution щелкнуть правой кнопкой мыши по имени приложения; в открывшемся окне выбрать Add Add New Item Windows Form, ввести имя формы и щелкнуть по Open.
В конструкторе главного окна для создания нового окна следует выполнить:
Новая_Форма.имя_объекта_новой_формы = new Новая_Форма();
имя_объекта_новой_формы.ShowDialog();
После вызова данного метода активизируется окно аутентификации, в котором вводятся входное имя и пароль, и нажимается кнопка. В новой форме никакие действия не производятся; в функции, ассоциированной с кнопкой connect, следует просто закрыть окно:
this.close();
После выполнения метода close() управление будет передано в конструктор главной формы (после метода ShowDialog()); здесь следует выполнить необходимые действия, после чего удалить объект новой формы:
имя_объекта_новой_формы.Dispose();
Примечание: уничтожение объектов осуществляется с помощью деструктора, который должен вызываться явно. В языке C# имя деструктора – Dispose().
Внимание! Для того чтобы в главной форме были доступны переменные, определенные в новой форме, в новой форме эти переменные должны быть объявлены как public члены; в главной форме они будут доступны через имя_объекта_новой_формы.имя_переменной.