Методы, связанные с командой READ

Изучение методов команды READ в Visual FoxPro. Создание и использование представлений таблиц. Автоматическая защита скрытых данных. Способы обновления существующих и внесения новых записей в многотабличные представления программного обеспечения.

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 14.02.2014
Размер файла 26,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Методы, связанные с командой READ

1. Команда READ

visual автоматический многотабличный программный

После создания формы ее нужно только выполнять с помощью команды DO FORM. Все опции, которые раньше были связаны с командой READ, стали теперь методами формы. Команда READ, тем не менее, остается в Visual FoxPro для совместимости с предыдущими версиями. Ее можно также использовать в рамках объектно-ориентированного подхода, употребив опцию EVENTS.

Опция ЕVENTS включает контроль за событиями. После этого управление остается на операторе READ и события обрабатываются до тех пор, пока в одном из них не встретится команда CLEAR EVENTS. Тогда выполнение продолжается с оператора, следующего за READ EVENTS.

Опишем реализацию в формах каждой из опций команды READ.

CYCLE: позволяет пользователю переключаться циклически по всем объектам формы, возвращаясь с последнего на первый. Нажатие Shift+Tab вызывает перемещение с первого на последний объект. При выполнении формы управления циклически перемещается между объектами до тех пор, пока не встретится оператор CLEAR EVENTS или свойство TerminateRead не будет установлено в (.Т.).

ACTIVATE: служит для изменения активного окна. Подобное действие выполняется и методом Activate, который имеется у каждой формы. Процедура этого метода может определить, является ли форма активной, и убрать с нее ненужные объекты перед тем как команда REAL начнет следить за событиями.

Возвращаемое методом Activate значение игнорируется, поэтому нельзя определить была ли форма активизирована командой ACTIVATE EVENTS или другим способом. Пользователи обычно активизируют форму путем нажатия на ее пиктограмму или путем вызова метода формы Show. Таким образом, при различных способах активизации формы выполняются разные ее методы.

DEACTIVATE: выполняется при попытке перейти в другое окно. Вызываемая при этом процедура должна произвести различные проверки и возвратить логическое значение. Значение (.Т.) вызывает прекращение выполнения оператора READ.

Все объекты формы имеют свой метод Deactivate, который, однако, вызывается только при перемещении между окнами текущего приложения. Для того чтобы действительно деактивизировать форму, то есть удалить ее с экрана и из памяти, нужно вызвать метод формы Release. А если вызвать метод Hide, который изменяет значение свойства формы Visible на (.F.), то форма исчезнет с экрана, но останется в памяти и ее можно будет вновь вывести на экран, установив Visible=(.Т.).

MODAL и WITH: эти две команды работают вместе и определяют какие окна могут быть активизированы пользователем. Например, если открыто одно окно с использованием команды MODAL, то пользователь не сможет перейти в другое окно, нажав на него. Он должен будет выйти из текущего окна, вызвав его метод CLOSE или QUIT. Поэтому если нужно открыть несколько окон, их надо перечислить после фразы WITH.

Метод формы Show используется для одновременного открытия формы и определения возможности выхода из ее окна. Команда Form1.Show(0) открывает форму с возможностью перехода в другие окна, причем выполнение программы при этом продолжается.

Команда Form1.Show(1) открывает форму без возможности выхода: при этом пользователь не может переключиться в другое окно, а выполнение программы приостанавливается до закрытия формы.

Если аргумент метода Show опущен, то вместо него используется значение свойства формы WindowType.

Замечание. Аргумент метода Show перекрывает значение свойства WindowTipe, а значение свойства WindowTipe набора форм, в свою очередь, перекрывает свойства WindowTipe отдельных форм этого набора.

SHOW: В первых версиях FoxPro функция, указанная после READ SHOW, вызывалась при дальнейшем выполнении команды SHOW GETS и могла служить для перевывода полей ввода. В Visual FoxPro форма выводится на экран методом Show, а для обновления данных нужно использовать метод Refresh следующим образом: Form1.Refresh

Эта команда вызывает перевывод всех объектов формы и значений полей ввода. Однако, если изменяется значение только одного объекта, можно не делать перевывод всей формы, поскольку это занимает слишком много времени. Лучше вызвать метод Refresh конкретного объекта, например: Form1.SumPrise.Refresh

Формы в Visual FoxPro не имеют методов, аналогичных фразам WHEN и VALID, но соответствующие проверки можно поместить в метод Activate. Для предотвращения выполнения формы можно прямо в методе Activate выполнять команду FORM. RELEASE.

OBJECT: раньше эта фраза использовалась для определения объекта, который получал управление. Теперь для передачи управления любому объекту на экране следует использовать следующий формат команды: _CurObj = OBJNUM(LastName)

Это же действие выполняется методом SetFocus, который есть у всех объектов, допускающих взаимодействие с пользователем. Для перехода к любому объекту без клавиши Tab необходима следующая команда: ThisForm.Spinner1.SetFocus

Эта команда передает управление объекту Spiner1.

TIMEOUT: ограничивает время выполнения команды READ при отсутствии действий пользователя. По истечении заданного времени выполнение команды READ прерывается.

Объекты Visual FoxPro не имеют прямого эквивалента этой команды, но есть объект Timer, с помощью которого можно эмулировать выполнение команды TIMEOUT.

NOMOUSE: раньше эта опция применялась для запрещения перехода по полям с помощью мыши. Основным ее назначением было заставить пользователя вводить данные или делать выборы в определенной последовательности. Поскольку объектно-ориентированное программирование предусматривает свободу пользователя в управлении программой, эквивалента опции NOMOUSE в Visual FoxPro нет.

SAVE: как и в случае с NOMOUSE эквивалента не имеет.

LOCK: при использовании этой фразы делается попытка заблокировать все записи, которые редактируются на экране. Объекты Visual FoxPro имеют свойство BufferMode, определяющее когда следует блокировать записи. Возможные значения свойства приведены в таблице

COLOR SCHEME и COLOR: свойства всей формы не позволяют определять ее палитру, но позволяют устанавливать цвета фона, изображения и заливки. С другой стороны, отдельные объекты поддерживают как цвета фона и изображения, так и палитру и источники цветов.

Формы в VFP не имеют методов, аналогичным фразам When и Valid, но соответствующие проверки можно поместить в метод Activate

OBJECT - эта опция использовалась для определения объекта, который получал управление. Теперь это действие выполняется методом SetFocus ( устанавливает фокус в элементе управления и весь ввод пользователя направляется в этот элемент управления, который есть у всех объектов, допускающих взаимодействие с пользователем.

Например: This form.Spinnes1.SetFocus эта команда передает управление текущей формы Spinnes1

TIMEOUT -ограничивает выполнение READ при отсутствии действий пользователя. По истечении заданного времени выполнение READ прерывается. Объекты VFP не имеют прямого эквивалента этой команды, но есть объект Times, с помощью которого можно эмулировать выполнение команды TIMEOUT

NOMOUSE- эта опция раньше применялась для запрещения перехода по полям с помощью мыши. Так как объектно-ориентированное программирование предусматривает свободу пользователя в управлении программой, эквивалента опции в VFP нет.

SAVE -ранее сохраняла все определения объектов ввода для использования в последующих командах READ. В VFP эквивалента нет.

LOCK- блокирование записей, которые редактируются на экране. Объекты VFP имеют свойство Buffer Mode, определяющие когда следует блокировать записи: значение функции= None блокируются все редактируемые записи, а поля записываются по мере их редактирования.

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

2-Optimistic- записи блокируются только при попытке записи данных.

2. Создание и использование представлений

Из данного множества таблиц реляционные выражения позволяют получить множество других, например путем соединения двух таблиц. Исходные таблицы называются базовыми таблицами, а таблицы, полученные из них путем выполнения каких-либо реляционных выражений, называются производными. Поэтому базовые таблицы существуют независимо, в то время как производные таблицы зависят от базовых. Базовые таблицы, конечно, должны быть именованными (т.е. их имена указываются в операторах создания). Большинство производных таблиц, наоборот, неименованные. Однако реляционные системы обычно поддерживают один определенный вид производных таблиц, называемый представлением, которое имеет имя. Таким образом, представление - это именованная таблица, которая, в отличие от базовой, не может существовать сама по себе, а определяется в терминах одной или нескольких именованных таблиц (базовых таблиц или других представлений).

Преимущества представлений:

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

Представления обеспечивают пользователей механизмом сокращений, или «макросов». В СУБД представления играют роль, аналогичную роли роли макросов с системах программирования, а хорошо известные преимущества и возможности макросов характерны и для представлений. В частности, использование представлений не приводит к дополнительным затратам производительности на этапе выполнения приложений - небольшие затраты производительности наблюдаются только на этапе определения представлений.

Для скрытых данных обеспечивается автоматическая защита. Под скрытыми данными здесь понимают данные, которые не видны в определенном представлении. Таки образом, пользователи вынуждены получать доступ к базе данных через представления; это простой и эффективный механизм контроля доступа и аутентификации.

Практически все приложения, разрабатываемы в настоящее время, проектируются как многопользовательские. Это значит, что данное приложение либо сразу помещается на сетевой сервер, либо в ближайшем будущем должно быть доработано и перенесено с среду клиент/сервер. Проводимые Microsoft исследования показывают, что 65% всех приложений VFP будут в ближайшее время модернизироваться именно в этих целях. Независимо от перспектив использования данного приложения имеет смысл сразу же создавать его с учетом подобных требований. При построении многопользовательских приложений весьма важно создать представления, которые отвечают требованиям, предъявляемым к вводу и выводу данных.

Представления можно построить на основе как локальных, так и удаленных таблиц, а изменения, которые вносятся в него, можно перенести в таблицы, на основании которых построено представление. Разделение локальных и удаленных представлений служит лишь для указания на источник данных и создания поименованных соединений с определенными параметрами. Представления создают данические наборы данных. В представлении можно разрешить и только чтение данных, и их обновление. Представления сочетают в себе лучшие свойства, присущие запросам, с возможностью прямого ввода данных в курсоры (курсоры являются виртуальными таблицами, сохраняемыми в оперативной памяти компьютера. Они строятся на основе таблицы или группы связанных таблиц).

При создании форм у вас есть возможность выбора между использованием курсоров, созданных на основе таблиц, и представлений из области описания данных. Если вы работаете с курсорами, вам доступны следующие возможности:

добавление в область описания данных формы таблицы и наследование постоянных отношений, созданных в области описания данных

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

Если в форме вы используете представления, у вас появляются дополнительные возможности:

выбор в таблице некоторой порции записей (фильтры)

выбор некоторой порции записей на основе свойств данных в связанных ключах (объединение типов)

контроль числа или процента записей, возвращаемых из набора данных

обратная запись данных из представления в локальную или удаленную таблицу с возможностью управления тем, какие поля будут модифицированы

сохранение определения представления в базе данных как некоторого выражения

Для создания локального представления можно выбрать одно из перечисленных средств:

Команду CREATE LOCAL VIEW

Средство View Designer (конструктор представлений)

Мастер Local View Wizard

Удалить представление можно командами DELETE VIEW или DROP VIEW. Переименовать представление можно с помощью команды RENAME VIEW.

Типы представлений.

Многотабличные представления

Предположим, необходимо разделить в б.д. все запииси о продажах на некоторое количество частей. Это может потребоваться в том случае, если вам необходимо (из соображений защиты информации), чтобы каждое торговое отделение могло вводить и просматривать информацию о продажах только своего региона, ане всех остальных. В подобной ситуации необходима область описания данных с возможностью выборки только некоторого набора записей. Реализовать это требование можно с помощью создания многотабличного представления, которое определяется командой Select с соответствующим предложением Where.

Это вполне приемлемый подход для систем, в которых используются локальные представления. Для удаленных представлений такой подход послужит причиной заметного возрастания сетевого трафика. В случае больших наборов данных он практически неприемлем, если только вы не обеспечите соединений, способных пропускать значительные объемы данных.

Если поместить ограничения (в приведенном примере для регионов) в отдельные представления, то такой вариант будет работоспособен, но необходимо определить и хранить множество представлений - для каждого региона, где осуществляются торговые операции. Не самый лучший подход для работы с базами данных! В данном случае следует использовать параметризованные представления, которые мы рассмотрим позднее.

При создании многотабличного представления с набором установленных отношений указатель записи в нем перемещает и управляет записями точно так же, как в многотабличной области описания данных. Если добавляемая в представление таблица не имеет постоянных отношений, для определения соединения активизируется диалоговое окно, позволяющее определить необходимый тип соединения. В соединении, как правило, устанавливают отношения между первичным ключом в одной таблице и внешним ключом в другой. Значения общих полей сравниваются на основании условий соединения, и отбираются те записи, для которых они выполняются. Visual FoxPro поддерживает следующие условия соединения:

Inner joins (внутреннее соединение). Возвращаются только те записи из обеих таблиц, которые отвечают условиям сравнения двух полей в соединении.

Left outer joins (левое внешнее соединение). Возвращаются все записи из таблицы, находящейся слева от ключевого слова JOIN, и любые записи из второй таблицы, которые отвечают условиям сравнения двух полей.

Right outer joins (правое внешнее соединение). Возвращаются все записи из таблицы, находящейся справа от ключевого слова JOIN, и любые записи второй таблицы, которые отвечают условиям сравнения двух полей.

Full outer joins (полное внешнее соединение). Возвращаются все записи обеих таблиц, вне зависимости от того, соответствуют они условиям сравнения или нет.

Представления с параметрами.

С помощью параметризованных представлений можно определить помещаемые в представлении данные. В этих представлениях предложение Where содержит параметр ?<имя_поля>.

При выполнении этой команды появится диалоговое окно Параметры представления, в котором нужно указать значение для cregion. Кроме того, можно определить значение парметра представления, например, закрепив это значение за положением переключателя, либо за элементом списка, либо присвоив параметру значение в к-либо методе формы или методе объекта.

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

Представления с обновлением данных.

В конструкторе представлений можно определять методы, используемые для обновления существующих и внесения новых записей. Для этого служит вкладка Update Criteria. Любое из полей в списке Field name можно сделать доступным только для чтения посредством удаления флажка, расположенного перед именем поля в столбце с пиктограммой карандаша. Кроме того, можно указать ключевые поля, однозначно идентифицирующие каждую строку представления. Для этого необходимо поместить флажок в столбец с пиктограммой ключа. Если определить поле как ключевое, то заносить в него изменения можно только при создании новых записей. Для уже существующих записей модифицировать значения в этих полях будет невозможно.

Опция Send SQL updates является основной для разрешения обновления данных в представлении.

Размещено на Allbest.ru

...

Подобные документы

  • Теоретические основы создания баз данных в Visual Foxpro 9.0. Описание программы, использование ее команд. Создание табличной базы данных, отношений между таблицами в многотабличной базе данных больных в больнице. Редактирование табличного отчета.

    курсовая работа [681,2 K], добавлен 19.12.2013

  • Создание базы данных в Visual FoxPro. Упорядочивание данных в таблицах. Определение отношений между таблицами и проверка условий целостности данных. Расширенные SQL-запросы и безусловная выборка значений. Использование квантора существования в запросах.

    методичка [926,3 K], добавлен 30.09.2013

  • Лисповская функция чтения READ. Интерпретатор. Вызов READ. Построенные структуры. Внешние устройства и доступ к ним. Типы потоков и операции используемые для ввода и вывода. Действие макроса. Запись символов и макроинтерпретаций. Системная переменная.

    доклад [7,8 K], добавлен 22.09.2008

  • Базы данных и системы управления базами данных. Структура простейшей базы данных, свойства полей. Понятие языка SQL. Проектирование баз данных, режимы работы, объекты. СУБД Microsoft Access. Создание базы данных "Электротовары" средствами Visual FoxPro.

    курсовая работа [5,7 M], добавлен 29.04.2014

  • Создание средств накопления больших объемов информации на машинных носителях. Системы управления базами данных. Создание компьютерной техники и программного обеспечения. Структурированные взаимосвязанные данные и их хранение. Приложения Visual FoxPro.

    курсовая работа [609,7 K], добавлен 12.05.2009

  • Изучение существующих методов и программного обеспечения для извлечения числовых данных из графической информации. Программное обеспечение "graphtrace", его структура и методы обработки данных. Использование этой системы для данных различного типа.

    дипломная работа [3,9 M], добавлен 06.03.2013

  • Построение инфологической модели данных каталога магазина цифровых дисков. Окно создания новых файлов. Типы данных в Visual FoxPro. Список типов индекса. Структура таблиц, связи между ними. Настройка внешнего вида формы. Выбор поля для сортировки данных.

    курсовая работа [4,3 M], добавлен 24.09.2013

  • Программный проект Баз данных средствами Visual Basic 6.0. Проектирование структуры таблицы базы данных Visual Basic 6.0. Заполнение созданных таблиц БД исходными данными. Создание пользовательского меню. Вид формы и свойства элементов управления.

    курсовая работа [3,0 M], добавлен 19.06.2010

  • Изучение основных видов угроз программного обеспечения. Выявление наиболее эффективных средств и методов защиты программного обеспечения. Анализ их достоинств и недостатков. Описания особенностей лицензирования и патентования программного обеспечения.

    курсовая работа [67,9 K], добавлен 29.05.2013

  • Назначение языка SQL. Операторы манипулирования данными. Группировка записей, объединение таблиц, многотабличные и вложенные запросы. Добавление, удаление, определение и обновление данных. Типы данных языка SQL. Методики проектирования, ER-моделирование.

    реферат [84,8 K], добавлен 15.12.2015

  • Создание базы данных. Поиск, изменение и удаление записей. Обработка и обмен данными. Проектирование базы данных. Определение формул для вычисляемой части базы. Редактирование полей и записей. Формы представления информации, содержащейся в базе данных.

    курсовая работа [67,0 K], добавлен 23.02.2009

  • Описание модели предметной области, построение функциональной модели. Проектирование структуры базы данных, реализация спроектированной базы данных при помощи СУБД Visual FoxPro. Создание форм при помощи мастера форм, построение исполняемого файла.

    лекция [4,0 M], добавлен 04.11.2009

  • Разработка базы данных FoxPro (БД), листинг программы. Работа с несколькими таблицами и установление взаимосвязей между ними. Система меню, формирование отчетов. Использование расширенных средств ввода и вывода данных. Организация справочной системы.

    дипломная работа [1,7 M], добавлен 20.08.2009

  • Компоненты и классификация банков данных. Модели данных: иерархическая, сетевая, реляционная, постреляционная, многомерная, объектно-ориентированная. Настольные системы управления базами данных: VisualdBase, Рarаdох, Microsoft FoxРrо и Visual FoxРrо.

    курсовая работа [849,8 K], добавлен 25.04.2015

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

    курсовая работа [1,5 M], добавлен 23.01.2010

  • Разработка программного обеспечения справочника "Банка России". Основные компоненты банка данных. Классификация банка данных по основной компоненте БД. Этапы проектирования БД. Суть языка программирования FoxPro, основные термины, команды и функции.

    курсовая работа [34,7 K], добавлен 07.12.2011

  • Відомості про бази даних, їх історія становлення та загальна інформація про Microsoft Visual FoxPro. Установка Visual FoxPro, створення проекту, таблиць, запитів. Аналіз реляційної бази даних. Прийоми проектування і реалізації реляційної бази даних.

    курсовая работа [1,6 M], добавлен 22.04.2019

  • Создание автоматизированной системы учёта выпуска готовой продукции в среде программирования Visual Basiс. Рассмотрение алгоритмов по обработке таблиц базы данных. Методика расчета экономической эффективности разработанного программного обеспечения.

    дипломная работа [3,7 M], добавлен 06.11.2011

  • Многотабличные базы данных. Виды связей между таблицами. Создание запросов, форм и отчетов. Работа с текстовым процессором MS Excel, создание таблиц и заполнение их соответствующими расчетами. Создание в MS Access базы данных заданной структуры.

    контрольная работа [3,0 M], добавлен 25.03.2014

  • Автоматизация учета складских операций с целью организации компьютеризации документооборота и учетных операций с помощью Microsoft Visual FoxPro 6.0. Описание структуры базы данных. Этапы проектирования БД. Выбор программного и технического обеспечения.

    курсовая работа [1,1 M], добавлен 26.12.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.