REPLACE all sum with sum * 1.2

Практическое занятие 3 Управление записями: добавление, редактирование, удаление и навигация

Тема: Тема 2.2. Управление записями: добавление, редактирование, удаление и навигация  
Цель: Научиться программным путем перемещать курсор в любое место таблицы; добавлять, редактировать и удалять записи.
Оборудование: Программное обеспечение: IBM совместимый персональный компьютер Операционная система WINDOWS 7 , Visual FoxPro 9.0  

Общие теоретические сведения

Структура команды СУБД.

НАЗВАНИЕ [<границы>] [<список выражений>] [For<условие>][while<условие>]

Название – имя команды; <границы> - граница действия программы, которые могут иметь одно из следующих значений:

ALL – все записи таблицы;

REST – все записи, начиная с текущей до конца таблицы;

NEXT <N> - следующие № записей, начиная с текущей;

RECORD <N> - запись с номером N.

FOR<условие> - выполнение команд только для записей, отвечающих <условию>.

WHILE<условие> - выполнение команды только до тех пор, пока не перестанет выполняться <условие>

Пример: LIST REST FIELDS tabnum, FIO, Id FOR FIO =’c’

Название границы выражения

Большая группа команд, которые целесообразно выделить в отдельный вид:

SET <параметр команды> TO <значение параметра>

SET <параметр команды> OFF/ON

Это команды установки.

Удаление.

Каждая запись файлов данных может быть помечена на удаление командой

DELETE

Помеченные записи остаются в файлах и в любой момент могут быть востребованы командой.

Восстановление.

RECALL имеет те же параметры что и DELETE

RECALL ALL (восстановить все записи)

Помеченные на удаление записи не обрабатываются частью команд, а часть команд их все равно обрабатывает.

Физическое удаление

PACK – удаляет все помеченные записи и одновременно упаковывает.

 

Команда ZAP

Удаление всех записей из файла без предварительной пометки. Можно чистить сразу много баз.

 

Перемещение по записям

При открытии файла командой USE – “указатель записи устанавливается на первой записи.

Переход к другой записи выполняется командами:

SKIP (переход на следующую запись);

SKIP N (пропустить следующие N записей, N – целое число).

SKIP <выражение> (пропустить следующие «целое значение» записей);

GO TOP (перемещает указатель записи в начало файла, на первую запись);

GO BOTTOM (перемещает указатель записи в конец файла, на последнюю запись;

GO <Номер записи > (переход к записи с указанным в <Номер записи > номером.

 

Для контроля положения указателя и наличия записей в файле предусмотрены функции:

RECNO() – указывает номер текущей записи;

RECCOUNT() – выдает общее число записей в файле базы данных, включая записи помеченные на удаление;

EOF() – функция конца файла. Она истинна (.Т.), если конец достигнут, и ложна (.F.), в противном случае;

BOF() – то же, но для начала файла.

 

Простая команда вывода ? / ??:

? recno() - выведет на экран номер текущей базы.

 

Существуют команды для заполнения, редактирования данных в открытом файле данных:

APPEND (добавление записи в конец файла базы данных);

INSERT (добавление записи в указанное место файла);

BROWSE – редактирование нескольких записей в виде таблицы и добавление новых записей

EDIT и CHANGE – редактирование записей по одной.

DISPLAY – вывод текущей записи на экране.

LIST – вывод всех записей на экран.

Этим команды могут иметь дополнительные параметры уточняющие их действия.

 

Изменение данных - REPLACE

Replace [<границы>] <имя поля> with <выражение>

[For<условие>][while<условие>]

 

Ход работы:

Задание 1. Исправить значения нескольких полей в таблице persons, хранящей список сотрудников.

Выполните следующие действия.

1. Откроем таблицу persons, используя команду

USE persons

При успешном открытии таблицы никакого сообщения не появится. Проверить, что таблица открылась, нужно, выполнив команду BROWSE. Окно с именем таблицы в заголовке появится на экране.

2. Щелкните мышью в пятой по счету записи в поле Name. Содержимое этого поля должно быть «Семенов Павел Игоревич». Допустим, при вводе данных об этом сотруднике допустили ошибку и его отчество не Игоревич, а Петрович. Курсор после щелчка мышью установился в поле Name. Можно стереть «Игоревич» и набрать «Петрович». После этого щелкните мышью в другом поле или нажмите Enter. Внесенные вами изменения сохранены.

3. Воспользуемся другим способом изменения данных - командой REPLACE.
Изменим значение поля Address в записи со значением поля Tabnum = 70004.

 

REPLACE Address WITH "ул. Ленина, 2, кв.5" FOR Tabnum = 70004

4. Убедитесь, что изменения произошли, и именно в записи со значением поля

Tabnum = 70004.

5. Закроем таблицу посредством команды CLOSE TABLESили командойUSE

Задание 2.Предположим, что отделу увеличили оклад в размере 20%, для этого введите следующие команды:

 

USE Stuff

REPLACE all sum with sum * 1.2

 

Только команда REPLACE в FOXPRO может изменять значение полей таблицы.

 

Контрольные задания:

 

1. Открыть таблицу STUFF. Сделайте копию таблицы STUFF с помощью команды:

COPY TO STUFF1

 

2. Отрыть таблицу STUFF1;

3. Вывести на экран количество записей в таблице STUFF1;

4. Перейти к 5 записи;

5. Возвратиться ко 2-ой записи;

6. Пометить на удаление 3 следующие записи;

7. Снять пометку с записи 4;

8. Удалить помеченные для удаления записи;

9. Вывести на экран номер текущей записи и количество записей;

10. Открыть таблицу STUFF;

11. Уменьшить оклад для сотрудников с кодом должности 01007 (Водитель) на 10%;

12. Вывести на экран все записи таблицы STUFF.

 

Форма предоставления отчетности:

 

Отчет о работе в виде таблицы создается в MS Word и распечатывается.

 

Задание Команды
Открыть таблицу STUFF. Сделайте копию таблицы STUFF Use STUFF COPY TO STUFF1