Виды в Microsoft Visual FoxPro
« Назад Вид (или SQL-вид) – это средство, обеспечивающее доступ к части базы данных, комбинирующее запрос, выбирающий данные, с возможностью их обновления. Иными словами, SQL-вид позволяет извлекать нужные поля и записи из одной или нескольких таблиц, обращаться с результатом как с таблицей, данные которой могут обновляться пользователем и пересылаться таблицам-источникам данных. В локальный вид выбираются поля таблиц текущей базы данных, в удаленный - таблиц ODBC-источника данных. Интерактивно вид (локальный или удаленный) создается проектировщиком вида, открываемым после выбора в дереве базы данных ветви Local Views или Remote Views и нажатия на кнопку New вкладки Data менеджера проекта. Создадим локальный вид. В диалоге (рис. 16.17) выберем New View. Рис. 16.17. Создание нового локального вида Добавим затем, используя появившийся диалог Add Table or View (рис. 16.18), в проектировщик вида только одну таблицу Authors базы данных HomeLibrary. Рис. 16.18. Добавление в проектировщик вида таблицы или иного вида Чтобы добавить существующий вид в группе Select диалога следует активизировать переключатель Views. Выберем в проектировщике вида (рис. 16.19) все поля таблицы Authors. Рис. 16.19. Проектировщик вида Перейдем на вкладку Update Criteria проектировщика и приведем ее в соответствие с рис. 16.20, не забыв установить флажок Send SQL updates, обеспечивающий отправку таблице Authors произведенных в виде обновлений. Рис. 16.20. Вкладка Update Criteria проектировщика вида Просмотрим имеющийся в SQL-окне проектировщика код, задействовав иконку панели инструментов проектировщика: select Authors.AuthorId, Authors.Author, Authors.InputDate, Authors.Information ; from HomeLibrary!Authors DBSetProp(ThisView,"View","SendUpdates",.T.) DBSetProp(ThisView,"View","BatchUpdateCount",1) DBSetProp(ThisView,"View","CompareMemo",.T.) DBSetProp(ThisView,"View","FetchAsNeeded",.F.) DBSetProp(ThisView,"View","FetchMemo",.T.) DBSetProp(ThisView,"View","FetchSize",100) DBSetProp(ThisView,"View","MaxRecords",–1) DBSetProp(ThisView,"View","Prepared",.F.) DBSetProp(ThisView,"View","UpdateType",1) DBSetProp(ThisView,"View","UseMemoSize",255) DBSetProp(ThisView,"View","Tables","HomeLibrary!Authors") DBSetProp(ThisView,"View","WhereType",3) DBSetProp(ThisView+".AuthorId","Field","DataType","I") DBSetProp(ThisView+".AuthorId","Field","UpdateName","HomeLibrary!Authors.AuthorId") DBSetProp(ThisView+".AuthorId","Field","KeyField",.T.) DBSetProp(ThisView+".AuthorId","Field","Updatable",.F.) DBSetProp(ThisView+".Author","Field","DataType","C(50)") DBSetProp(ThisView+".Author","Field","UpdateName","HomeLibrary!Authors.Author") DBSetProp(ThisView+".Author","Field","KeyField",.F.) DBSetProp(ThisView+".Author","Field","Updatable",.T.) Закроем проектировщик вида и его SQL-окно, дав новому виду в появившемся Save-окне имя SomeLocalView (рис. 16.21). Рис. 16.21. Локальный вид в дереве базы данных диспетчера проекта Открыв в Browse-окнах и вид SomeLocalView и таблицу Authors, убедимся, что изменения, выполняемые в полях вида, для которых свойство Updatable установлено в .T., переносятся в таблицу Authors. Замечание. Описание свойств вида см. в табл. 14.18 и 14.20. |