- •«Национальный исследовательский томский политехнический университет»
- •Работа с данными в среде FoxPro
- •Создание программных продуктов
- •Главное меню субд
- •Меню FoxPro для dos
- •Главное окно и меню FoxPro дляWindows.
- •Знаки операций
- •Структура команд
- •Создание структуры файла
- •Заполнение базы данных
- •Дополнение бд
- •Фильтрация данных
- •Последовательный поиск
- •Продолжение поиска
- •Понятие о рабочих областях
- •Связь вида одна_запись_к_одной
- •Связь вида одна_запись_ко_многим
- •Цикл с условием
- •Цикл с параметром
- •Цикл сканирования базы данных
- •Математические функции
- •Математическая обработка бд
- •Вывод текстовых файлов
- •Создание баз данных
- •Дополнение базы
- •Формирование запросов из базы данных (команда select)
Структура команд
Команды FoxPro, ориентированные на обработку файлов базы данных, в самом общем виде имеют следующий синтаксис:
НАЗВАНИЕ [<границы>] [<список выражений>] [FOR <условие>] [WHILE <условие>]
Здесь:
НАЗВАНИЕ – имя команды;
<границы> – границы действия команды, которые могут иметь одно из следующих значений:
ALL – все записи базы данных;
REST – все записи, начиная с текущей, до конца базы;
NEXT <N> – следующие N записей, начиная с текущей;
RECORD <N> – запись номер N;
FOR <условие> – выполнение команды только для записей, отвечающих <условию>;
WHILE <условие> – выполнение команды только до тех пор, пока не перестанет выполняться <условие>.
Слова FOR и WHILE могут присутствовать в команде одновременно. В этом случае WHILE-условие, очевидно, имеет приоритет перед FOR-условием.
П р и м е р: LIST NEXT 10 FIELDS fam,tab,dtr FOR fam=’П’
Название Границы Выражение FOR-условие
Порядок следования элементов команды (за исключением “названия”, которое всегда располагается на первом месте) произвольный. По умолчанию, если отсутствуют <границы> или <условия>, сферой действия команды является одна только текущая запись, или, наоборот, вся база данных.
В FoxPro разрешается и ключевые слова, и имена записывать как прописными, так и строчными буквами. Константы различных типов данных отображаются в командах следующим образом:
Символьные константы в FoxPro выделяются апострофами, кавычками или квадратными скобками.
Константы типа “дата” берутся в фигурные скобки (например, {09.11.95}). Пустая дата ({ . . }) вообще может быть задана одними фигурными скобками {}.
Логические константы T (истина) и F (ложь) в тексте программ обрамляются точками.
Создание файла базы данных
Создание файла базы данных включает два этапа: создание структуры файла (название колонок таблицы с указанием типов данных для этих колонок) и его заполнение данными (собственно заполнение таблицы).
Создание структуры файла
Создадим простой файл базы данных, который содержит следующие данные (названия полей указаны в скобках):
Фамилия (FIO)
Имя (NAM)
Дата рождения (DATR)
Учебная группа (UGR)
Размер стипендии (STIP)
Назовем файл базы данных STUD.DBF. Выберем для его полей типы и размеры: FIO – символьный тип (Character) длиной 20 символов; NAM – символьный тип длиной 15 символов; DATR – тип дата (Date) со стандартной длиной 8; UGR – символьный тип длиной 4; STIP – числовой тип (Numeric) длиной 6 разрядов.
Структура файла базы данных типа DBF создается командой CREATE <имя файла>. В нашем случае это команда «CREATE stud». Расширение имени файла DBF указывать необязательно, т.к. оно добавляется автоматически. Эту команду можно набрать в командном окне либо выбрать из Главного меню File New… и из предлагаемого списка выбрать тип «Table».
В ответ СУБД представит экран-форму для ввода данных о структуре создаваемого файла базы данных, а именно для каждого вводимого поля – его имя, тип, длину и для числового типа – точность (число дробных позиций). Тип поля выбирается в момент, когда курсор находится в колонке TYPE, нажатием первой буквы указания типа (C, N, F, D, L) или клавиши Пробел/Ввод. Попробуйте заполнить предлагаемую форму. Порядок расположения полей может быть изменен. Возможно удаление имеющихся и дополнение новых полей (<Insert> и <Delete>). После окончания формирования структуры файла оно должна быть запомнена на диске. Это осуществляется одновременным нажатием клавиш CTRL-End или Ctrl-W. Нажатие клавиши Esc вызовет отказ от сохранения структуры. Тот же результат может быть достигнут нажатием Enter после перемещения курсора в позицию <OK> или <Cancel> соответственно. Все действия по управлению созданием базы могут быть реализованы и мышью. На запрос FoxPro о вводе данных ответьте No. Если в дальнейшем обнаружится, что структура БД Вас не устраивает, ее можно изменить командой модификации структуры MODIFY STRUCTURE.