|
Программирование >> Разработка пользовательского интерфейса
ывик конструктора бваМ дяичыт; Ряскрыаальцийся сгисак атфытыс баз дамныу е)1* т №*w ebswn еншм* ittwbj j№t 1 f JbLAif j bM tfcj*! fa l &;[liiiat3Q4eCfesigner Ааа.Юге New nen tBV1 k Naw L/jcfllViBW . A*d ТоЫа.. BisiBdPHKfldurBi... H IJj., Всплывающее кленю, появляющаеся при нажатии правой многкм мыши Открыть окно редвктироеания хранимы к процедур Открыть окно enohW&e для данной таблицы Изиенить структуру табгмцы Создать новый лапальный прсзсмотр Сй:дать нй&ый внёшний npociuutp Убрать таблицу на Добавить уже существукмцую таблицу в &Д Создать hHsyia таблицу Рис. 6.1. Окно и панель инструментов Конструктора БД в Visual FoxPro Вновь созданная база данных пуста и не содержит никаких таблиц и других объектов. В табл. 6.1 приведены команды и функции, которые вы можете использовать для программного управления базами данных и их объектами. Таблица 6.1. Команды и функции, управляющие ADATABASE() CREATE VIEW ADBOBJECTS() ADD TABLE ALTER TABLE APPEND PROCEDURES CLOSE DATABASE COPY PROCEDURES CREATE CONNECTION CREATE DATABASE CREATE SQL VIEW DBC() DBGETPROP() DBSETPROP() DELETE CONNECTION DELETE DATABASE DELETE VIEW DISPLAY DATABASE INDBC() LIST DATABASE базами данных и их объектами MODIFY CONNECTION MODIFY DATABASE MODIFY PROCEDURE MODIFY STRUCTURE MODIFY VIEW OPEN DATABASE PACK DATABASE REMOVE TABLE SET DATABASE VALIDATE CREATE TABLE При создании БД не забудьте, что важной особенностью Visual FoxPro является то обстоятельство, что каждая таблица может существовать в одном из двух состояний: либо в виде свободной таблицы, представляющей собой файл DBF, не ассоциированный ни с одной из баз данных, либо в виде таблицы базы данных - файла DBF, включенного в какую-либо БД. При этом если таблица включена в БД, то она не может быть включена ни в какую другую БД. Для таблиц, ассоциированных с базой данных, можно установить ряд свойств, которыми не могут обладать свободные таблицы. Это такие свойства, как триггеры, правила на уровне полей и записей и постоянные отношения между таблицами. Вы можете включить таблицы в базу данных, создав их внутри открытой базы данных или добавив туда уже существующие таблицы. Как добавить существующую таблицу в базу данных? В Project Manager выберите пункт Tables из вкладки А11 или Data, затем выполните команду Add. Программным путем то же самое можно сделать, выполнив следующие команды: OPEN DATABASE auto store && Открывается база данных && AUTO STORE ADD TABLE salesman && В нее добавляется таблица SALESMAN Чтобы сделать таблицу частью базы данных, необходимо явно включить ее в базу данных. Изменение структуры свободной таблицы не вносит ее автоматически в базу данных, даже если сделать это при открытой базе данных с помощью команды MODIFY STRUCTURE. Не забудьте, что вы можете ассоциировать таблицу только с одной базой данных. Если данные из какой-то таблицы необходимо использовать в нескольких БД, для исключения дублирования информации наиболее простой путь - не включать эту таблицу ни в какую БД, а оставить ее свободной. Данные из существующего файла DBF можно использовать, не включая его в базу данных. В то же время не представляет труда использовать информацию и из таблицы, расположенной в другой БД. Как получить доступ к таблице из другой базы данных? Создайте в базе данных представление, включающее нужную таблицу. Или получите доступ к таблице с помощью команды USE и разделительного символа ! . Символ ! надо использовать для ссылки на таблицу из другой, не текущей, базы данных. Например, если вы хотите просмотреть таблицу Salesman из базы данных Auto Store, выполните следующие команды: USE Auto Store!Salesman BROWSE В предыдущем примере база данных Auto Store открывается автоматически при выполнении команды USE, однако Visual FoxPro не устанавливает Auto Store в качестве текущей базы данных. Открытая таким способом база данных автоматически закрывается, когда вы закрываете таблицу, если база данных не была явно открыта до этого. Когда вы добавляете таблицу в базу данных, Visual FoxPro изменяет заголовок файла таблицы, включая туда информацию о пути и имени файла базы данных. Этот путь и имя файла базы данных называются обратной связью, поскольку эта информация связывает таблицу с владеющей ею базой данных. Процесс удаления таблицы из базы данных не только удаляет ссылку на таблицу и ассоциированную с ней информацию из словаря БД Visual FoxPro, но и изменяет обратную связь, чтобы отметить таблицу как свободную. Вы можете удалить таблицу из базы данных интерактивно или с помощью команды REMOVE TABLE. При удалении таблицы из базы данных вы можете и физически удалить файл таблицы с диска. В Project Manager выберите имя таблицы и нажмите кнопку Remove. Если вы работаете в Конструкторе баз данных, выделите имя таблицы и выберите команду Remove из меню Database. Последовательность действий по удалению таблицы Salesman из БД Auto Store программным путем показа в следующем примере: OPEN DATABASE Auto Store REMOVE TABLE Salesman Удаление таблицы из базы данных автоматически не удаляет файл таблицы. Если вы хотите одновременно удалить таблицу из базы данных и DBF-файл с диска, включите опцию DELETE в команду REMOVE TABLE. Удалить базу данных с диска можно с помощью Project Manager или командой DELETE DATABASE DATABASE. Для удаления базы данных с диска всегда используйте один из вышеуказанных методов. Удаление базы данных с помощью диспетчера проектов или по команде DELETE DATABASE автоматически обновляет обратные связи в файлах таблиц базы данных. Если вы удалите БД с помощью какой-нибудь утилиты работы с файлами, то в таблицах, принадлежащих БД, останутся ссылки на уже несуществующую БД, и вы не сможете их использовать. Команда DELETE DATABASE не удаляет файлы таблиц с диска, а только помечает их как свободные. Если вы хотите одновременно с базой данных удалить и файлы таблиц, включите опцию DELETE TABLES в команду DELETE DATABASE. В приложении Visual FoxPro можно использовать несколько баз данных одновременно. Для этого либо одновременно откройте все требуемые вам БД, либо сошлитесь на таблицы в закрытых базах данных, как это было показано ранее. Если одновременно открыто несколько БД, вы можете установить текущую базу данных и выбирать таблицы из нее без указания конкретной ссылки. Как открыть несколько баз данных? В Project Manager выделите имя базы данных и нажмите кнопку Modify или Open, в зависимости от вашей цели. Или последовательно используйте команду OPEN DATABASE. Когда вы открываете новую базу данных, старые не закрываются. Все уже открытые базы данных так и остаются открытыми, а последняя открытая БД становится текущей. Все таблицы или другие объекты, которые вы создаете, автоматически становятся частью текущей базы данных. Команды и функции, такие как ADD TABLE и DBC(), манипулирующие с открытыми БД, оперируют с текущей базой данных. Вы можете объявить текущей любую из открытых БД с помощью раскрывающегося списка на стандартной панели инструментов Visual FoxPro или командой SET DATABASE. В следующем примере открываются три базы данных, первая объявляется текущей, и ее имя отображается на экране с помощью функции DBC(): OPEN DATABASE Auto Store OPEN DATABASE Connect Data OPEN DATABASE Count Data SET DATABASE TO Auto Store ? DBC() В Visual FoxPro одна или несколько баз данных открываются автоматически при выполнении запроса или формы, в которых используются несколько баз данных. Для того чтобы не потерять управление в программе, явно объявите текущую базу данных. Как выбрать таблицу из текущей базы данных? Выполните команду USE со знаком вопроса ? В диалоговом окне Use выберите нужную таблицу. Если вам нужна таблица, не входящая в открытую базу данных, в диалоговом окне Use выберите опцию Other. Закрыть базу данных можно в Project Manager или командой CLOSE DATABASE. В Project Manager выделите имя базы данных и выберите команду Close. В следующем примере закрывается база данных Auto Store: SET DATABASE ТО Auto Store CLOSE DATABASE Оба указанных способа закрывают базу данных автоматически. Еще один способ закрыть базу данных и другие открытые объекты - включить предложение ALL в команду CLOSE. Выполнение команды CLOSE DATABASE в окне Command не приведет к закрытию базы данных, если она была открыта одним из следующих способов: В Project Manager в расширенном режиме просмотра содержимого базы данных. Формой, запущенной в собственной Data Session. В этих случаях БД остается открытой до тех пор, пока она не будет закрыта в Project Manager или пока не будет закрыта соответствующая форма. В Visual FoxPro текущая база данных используется в качестве первичной области видимости для именованных объектов типа таблиц. Когда база данных открыта, любые запрашиваемые объекты типа таблиц, представлений, связей ищутся сначала в текущей базе данных. Если объект не найден, поиск продолжается в пути по умолчанию. Например, если таблица Model ассоциирована с базой данных Auto Store, приведенные ниже команды всегда найдут таблицу Model в базе данных. OPEN DATABASE Auto Store
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |