Далее по нажатии одной из этих кнопок меню вызывается ее процедура со вложенным в нее соответствующем SQL-запросом. Например для кнопки меню «Список фильмов» -«по году выпуска»:
SELECT * FROM films ORDER BY год_вып
3.2. «Таблицы»
Это режим просмотра и редактирования данных. Реализован данный пункт меню следующим образом. При нажатии на один из пунктов меню, командой «do form …» вызывается экранная форма вида:
Рис.19. Форма вызываема при нажатии «Таблицы» - «Фильмы».
Обработчик события нажатия кнопки «Добавить» выглядит так:
append in films
thisform.grid1.refresh
Обработчик события нажатия кнопки «Удалить» выглядит так:
set deleted on
thisform.grid1.refresh()
Элемент управления Grid отображает таблицу БД и позволяет непосредственное редактирование.
3.3.«Запросы»
Этот пункт меню открывает экранную форму демонстрации запросов. Реализован пункт меню при помощи стандартных элементов управления. Экранная форма «Запросы» имеет вид:
Рис.20. Форма вызываема при нажатии «Запросы».
3.4. «О программе»
При вызове этого пункта меню вызывается простейшая экранная форма, в которой имеется информация об авторе.
Рис.21. Экранная форма «О программе»
4. «Запросы»
4.1. Запрос № 1
Найти самый дорогой фильм, фильм, наиболее популярный, самый старый по году выпуска и т.д.
самый дорогой
самые популярные
самый старый
Рис. 22. Результаты запроса №1. (самый дорогой)
Рис. 23. Результаты запроса №1. (самые популярные)
Рис. 24. Результаты запроса №1. (самый старый)
4.2. Запрос № 2
Для заданного жанра (ввод, выбор) определить все фильмы, чья стоимость меньше, чем заданный фильм (выбор) из заданной страны (выбор).
Рис. 25. Входные данные для запроса.
Рис. 26. Результаты запроса №2.
4.3. Запрос № 3
Найти все фильмы со стоимостью в заданных пределах (выбор) по заданному году выпуска (выбор) для заданной страны (выбор).
Рис. 27. Входные данные для запроса.
Рис. 28. Результаты запроса №3.
4.4. Запрос № 4
Найти долю дешевых, долю дорогих фильмов для заданной страны (выбор) заданного жанра (выбор).
Рис. 29. Входные данные для запроса.
Low_end_film – Доля дешевых фильмов
High_end_film – Доля дорогих фильмов
Рис. 30. Результаты запроса №4.
4.5. Запрос № 5
Найти страны, где показано наибольшее число фильмов заданного жанра.
Рис. 31. Результаты запроса №5.
4.6. Запрос № 6
Найти всех актеров, каждый из которых либо мужчина, либо живет в Париже.
Рис. 32. Результаты запроса №6.
4.7. Запрос № 7
Найти имена и адреса всех актрис, которые одновременно являются президентами киностудий или продюсерами, обладающими совокупным годовым доходом в размере свыше 100000$.
Рис. 33. Результаты запроса №7.
4.8. Запрос № 8
Найти, кто из актеров-мужчин участвовал в съемках фильма «Терминатор» (или ввод наименования любого другого фильма).
Рис. 34. Входные данные для запроса.
Рис. 35. Результаты запроса №8.
4.9. Запрос № 9
Для заданного актера (ввод актера) найти, в каких фильмах снимался, в 1995 году (ввод заданного года, любого).
Рис. 36. Входные данные для запроса.
Рис. 37. Результаты запроса №9.
4.10. Запрос № 10
Найти, кто из руководителей индустрии кино обладает большим состоянием, чем актер Иванов (выбор, ввод).
Рис. 38. Входные данные для запроса.
Рис. 39. Результаты запроса №10.
4.11. Запрос № 11
Найти имена тех президентов киностудий, кто одновременно является и актерами.
Рис. 40. Результаты запроса №11.
5. Выводы
Поставленная задача выполнена, все работает, просматривается, редактируется и
удаляется. Фундамент в проектировании приложений на MS Visual FoxPro заложен.
Конечно, в процессе проектирования в данной среде разработки нельзя было не наткнуться на «глюки», которые Visual Fox Pro имеет предостаточно.
Так же доставило определенные неудобства, отсутствие возможности создавать формы ориентированные на реляционные БД, а точнее количество связных таблиц не может быть более 2.
Ну а вообще же, для написания простой БД, при минимальных затратах времени и средств, MS Visual Fox Pro подходит идеально, что в свою очередь должно заинтересовать потенциальных разработчиков БД.
6. Литература
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.