Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические_указания_Информатика_IIс.docx
Скачиваний:
12
Добавлен:
09.06.2015
Размер:
2.28 Mб
Скачать

Порядок выполнения работы.

  1. Разработка сервера приложений.

  1. Создать обычное приложение Delphi.

  2. На форму приложения добавить одну кнопку, предназначенную для завершения работы сервера приложений (рисунок 1).

  3. Добавить в приложение модуль с именем «Remote Data Module» - удалённый модуль данных. Путь к модулю: File\New\Other\Delphi Projects\Multitier\Remote Data Module (рисунок 2).

  4. В появившемся диалоговом окне следует заполнить поле с именем «CoClass Name». Например, AppServer_TCE_111_Ivanov (рисунок 3). В дальнейшем под этим именем будет выполнена регистрация сервера приложений на удалённом компьютере. Остальные поля следует оставить без изменений. Нажать кнопку Ок.

Рисунок 3. Пример интерфейса сервера приложений.

Рисунок 4. Включение в проект Delphi удалённого модуля данных – Remote Data Module.

  1. Сделать активной страницу с удалённым модулем данных (рисунок 4).

  2. Добавить на форму модуля компоненты для работы с базами данных по технологии ADO: TADOConnection, TADOTable, TADOQuery. Количество компонентов определяется разработчиком.

  3. Добавить на форму модуля компоненты TDataSetProvider, находящиеся в разделе Data Access (рисунок 5).

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

  5. В главном меню Delphi выбрать Run\Parameters и в появившемся окне ввести значение – «/RegServer» в строку с именем «Parametrs».

  6. Откомпилировать и запустить приложение. Это необходимо для регистрации сервера приложений в системе.

Рисунок 5. Задание имени серверу приложений. В примере CoClass Name = AppServer_TCE_111_Ivanov.

Рисунок 6. Задание параметра «/RegServer», необходимого для регистрации сервера приложений в системе.

Рисунок 7. Расположение компонента провайдера – TDataSetProvider в палитре компонентов Delphi.

  1. Разработка приложения «Тонкий клиент».

  1. Создать обычное приложение Delphi.

  2. На форму приложения добавить компонент TDCOMConnection (рисунок 6), который находится в разделе DataSnap Client.

Рисунок 8. Расположение компонента TDCOMConnection в палитре компонентов Delphi.

  1. Произвести настройку соединения этого компонента с удалённым модулем данных на сервере приложений. В первую очередь задать значение свойства ServerName из выпадающего списка. После этого автоматически создастся глобальный уникальный идентификатор в поле ServerGUID. И, наконец, свойство Connected переключить в true (рисунок 7).

Рисунок 7. Настройка свойств компонента TDCOMConnection, обеспечивающего связь с удалённым модулем данных Remote Data Module.

  1. Перенести на форму компонент TClientDataSet, расположенный в разделе Data Access палитры компонентов (рисунок 8). Настроить его свойства (рисунок 9). В первую очередь задать значение свойства RemoteServer – в нашем примере это DCOMConnection1. Затем выбрать провайдера – свойство ProviderName – в нашем примере DataSetProvider1. И, наконец, устанавить свойство Active в true.

  2. Добавить на форму компоненты, необходимыми для отображения набора данных, как в режиме сетки, так и в режиме формы (рисунок 10). Настроить все необходимые свойства.

Рисунок 8. Расположение компонента TClientDataSet в палитре компонентов Delphi – страница Data Access.

Рисунок 9. Настройка свойств компонента TClientDataSet, предназначенного для формирования запросов через провайдера – DataSetProvider1 к базам данных, расположенным на сервере баз данных.

Рисунок 10. Пример интерфейса приложения «Тонкий клиент» в среде разработчика Delphi. Таблица базы данных отображается как в режиме сетки, так и в режиме формы.

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

Некоторые примеры программного кода подпрограмм - обработчиков событий в приложении «Тонкий клиент».

  1. Удаление таблицы из базы данных.

Листинг 1.

procedure TForm2.Button1Click(Sender: TObject);

begin

ClientDataSet1.CommandText := ‘Drop Table Трансформаторы’;

ClientDataSet1.Execute;

end;

  1. Простой запрос на выборку данных из таблицы.

Листинг 2.

procedure TForm2.Button2Click(Sender: TObject);

begin

ClientDataSet1.CommandText := ‘Select * From Pr1’;

ClientDataSet1.Active := true;;

end;

  1. Запрос с подзапросом.

Листинг 3.

procedure TForm2.Button3Click(Sender: TObject);

begin

ClientDataSet1.CommandText :=

Select * ‘ +

From Pr1 ’ +;

Where Уклон = (Select Max(Уклон) ’ +

From Pr1)’;

ClientDataSet1.Active := true;

end;

  1. Реакция на нажатие кнопки «Сохранить на сервере баз данных».

Листинг 4.

procedure TForm4.Button4Click(Sender: TObject);

begin

ClientDataSet1.ApplyUpdates(-1);

end;

Рисунок 9. Примерный вид приложений баз данных «Тонкий клиент» и «Сервер приложений» после компиляции и запуска в ОС Windows.

Варианты заданий.

№№

Вариант статического запроса

Компонент для реализации запроса

Вариант динамического запроса

Компонент для реализации запроса

1.

C=AWB

ADOQuery

Проекция

ADOQuery

2.

C=AUB

ADODataSet

Селекция

ADODataSet

3.

C=A – B

ADOQuery

Декартово произведение

ADOQuery

4.

ADODataSet

Соединение

ADODataSet

5.

ADOQuery

Объединение

ADOQuery

6.

ADODataSet

Пересечение

ADODataSet

7.

C=A*B

ADOQuery

Разность

ADOQuery

8.

ADODataSet

Проекция

ADODataSet

9.

Создать копию таблицы

ADOCommand

Селекция

ADOQuery

10.

Создать таблицу

ADOQuery

Декартово произведение

ADODataSet

11.

Удалить таблицу

ADODataSet

Соединение

ADOQuery

12.

Очистить таблицу

ADOConnection

Объединение

ADODataSet

13

Добавить поле в структуру таблицы.

ADOQuery

Пересечение

ADOQuery

14.

Удалить поле из структуры таблицы.

ADODataSet

Проекция

ADODataSet

15.

Рассчитать количество записей.

ADOQuery

Селекция

ADOQuery

16.

Рассчитать среднее значение поля.

ADOQuery

Декартово произведение

ADODataSet

17.

Рассчитать суммарное значение поля.

ADODataSet

Соединение

ADOQuery

18.

Рассчитать минимальное значение поля.

ADOQuery

Объединение

ADODataSet

19.

Рассчитать объём для размещения оборудования

ADODataSet

Пересечение

ADOQuery

20.

Рассчитать индуктивное сопротивление трансформаторов.

ADOQuery

Проекция

ADODataSet

21.

Рассчитать объём для размещения оборудования

ADODataSet

Селекция

ADOQuery

22.

Рассчитать количество вентилей в преобразователях

ADOQuery

Декартово произведение

ADODataSet

23.

Обновить значение Масса*0,75

ADOConnection

Соединение

ADOQuery

24.

Рассчитать количество вентилей в преобразователях

ADOQuery

Объединение

ADODataSet

25.

Рассчитать объём для размещения оборудования

ADODataSet

Проекция

ADOQuery

26.

Обновить значения uk,‰*0,75

ADOCommand

Селекция

ADODataSet

27.

Обновить габариты*0,75

ADOConnection

Декартово произведение

ADOQuery

28.

Обновить значения полной массы*0,75

ADOQuery

Соединение

ADODataSet

29.

Определить максимальное значение отключающего тока.

ADODataSet

Объединение

ADOQuery

30.

Рассчитать объём для размещения оборудования

ADOQuery

Пересечение

ADODataSet

31.

Определить наибольшее рабочее напряжения.

ADODataSet

Проекция

ADOQuery

32.

Определить максимальную массу полюса

ADOQuery

Селекция

ADODataSet

33.

Определить максимальную массу привода

ADODataSet

Декартово произведение

ADOQuery

Содержание отчёта.

  1. Номер, название, цель и задача лабораторной работы.

  2. Вариант лабораторной работы.

  3. Скриншоты, отражающие последовательность создания сервера приложений.

  4. Скриншоты, отражающие последовательность создания приложения «Тонкий клиент».

  5. .Скриншоты, отображающие результаты статических и динамических запросов к базе данных.

  6. Распечатки программного кода подпрограмм - обработчиков событий, выполняющих статические и динамические запросы к базе данных в приложении «Тонкий клиент»

  7. Выводы по работе и проблемы, возникшие при выполнении лабораторной работы.

Контрольные вопромы и задачи.

  1. Как расшифровывается аббривиатуру MIDAS.

  2. В чём состоит основной смысл создания многоуровневых приложений баз данных.

  3. Сколько уровней и какие именно получили наибольшее распространение при реализации клиент/серверных приложений баз данных.

  4. Какие уровни чаще всего реализуют на Delphi.

  5. Какие компоненты Delphi размещают на сервере приложений.

  6. Почему компонент TDatsSetProvider называют «ключиком к серверному зазеркалью».

  7. Какие компоненты Delphi размещают в приложении «Тонкий клиент».

  8. Какие основные функции выполняет компонент TClientDataSet.

  9. Какие основные свойства необходимо настроить у компонента TClientDataSet.

  10. Назовите наиболее распространённые промышленные серверы баз данных.

  11. Какая СУБД является «родной» для Delphi.

Список использованной и рекомендуемой литературы.

  1. И.К. Давыдова, Б.И. Попов, В.М. Эрлих. Справочник по эксплуатации тяговых подстанций и постов секционирования. Москва, «Транспорт» 1978.

  2. Справочник по электроснабжению железных дорог. Под редакцией К.Г. Марквардта, Том 1, Москва, «Транспорт» 1980.

  3. Справочник по электроснабжению железных дорог. Под редакцией К.Г. Марквардта, Том 2, Москва, «Транспорт» 1980.

  4. В.В. Фаронов. Delphi. Программирование на языке высокого уровня. Питер. 2009.

  5. В. Фаронов. Программирование баз данных в Delphi 7. Учебный курс. Питер. 2006.

  6. Дмитрий Осипов. Delphi Xe2. Санкт-Пеиербург. «БХВ-Петербург», 2012г.