|
Программирование >> Разработка пользовательского интерфейса
=CURSORSETPROP(KeyFieldList,account,key customer) =CURSORSETPROP(updatablefieldlist,summa) =CURSORSETPROP(updatenamelist,; account account.account,key customer account ; key customer,; summa account.summa) =CURSORSETPROP(sendupdates,.T.) REPLACE ALL field2 WITH 27 IF DAY(DATE())=2 SQLROLLBACK(h) ELSE SQLCOMMIT(h) ENDIF USE =SQLDISCONNECT(h) Создание внешних представлений В главе 7 обсуждались представления и работа с ними. Далее мы продолжим разговор о них, но будем работать с данными либо внешнего формата, либо с данными смешанного характера, то есть исходные таблицы могут быть как формата Visual FoxPro, так и любого внешнего формата. Представьте, например, ситуацию такого рода. Ваша организация работала с данными с помощью приложений, написанных с использованием FoxPro 2.6 или более ранних версий. Но вот принято решение о переходе на версию Visual FoxPro 3.0 или выше. Можно поступить следующим образом. Ждать, пока программисты перепишут все приложения с использованием новой версии, потом, когда новая версия будет готова, отладить ее, подготовить соответствующее аппаратное обеспечение и начать работать. А можно поступить по-другому. Перейти частично на новую версию, а файлы данных хранить в формате FoxPro 2.6, там где их еще используют старые приложения, постепенно переводя их в новый формат по мере обновления техники и перевода отдельных частей приложений на новую версию. Рассмотрим синтаксис команды CREATE SQL VIEW для создания внешнего представления. CREATE SQL VIEW [ViewName ] [REMOTE] [CONNECTION ConnectionName [SHARE] CONNECTION DataSourceName] [AS SQLSELECTStatement] Для создания внешнего представления надо указывать ключевое слово REMOTE. Далее вы можете с помощью ключевого слова CONNECTION создать представление либо с помощью соединения, либо с помощью источника данных. Таким образом, во втором случае вы минуете соединение. Хорошо это или плохо? Это надо решать для конкретной задачи индивидуально. В случае использования соединения вы получаете более полный контроль над процессом получения данных, так как у вас, исходя из вышеизложенного, есть функции, с помощью которых вы легко можете управлять свойствами соединения. Представление помимо этого может иметь соединение, разделенное между несколькими представлениями. Таким образом, меняя свойства одного соединения, вы получаете контроль над несколькими наборами внешних данных. Перед тем как вы начнете создавать внешнее представление, лучше уже иметь готовое определение соединения в текущей базе данных или подходящий набор источников данных, полученных с помощью ODBC, хотя это и не является необходимым требованием. Поэтому выберите один из способов построения внешних запросов. Если вы работаете с использованием Project Manager, то выберите нужную базу данных и, установив курсор на пункте Remote Views, как это показано на рис. 8.4, нажмите кнопку New. Data i Documentsl Classes Code
Other New... Add... Modity Browse Remove... Build... Description: Path: Рис. 8.4. После этого появится диалоговое окно, в котором вам будет предложен выбор среди имеющихся в текущей базе данных соединений или среди источников данных, установленных на вашем компьютере. При этом вы можете создать новое соединение и затем снова вернуться в текущее диалоговое окно. С источниками данных дело обстоит хуже, но в конце концов мы работаем в многозадачной среде. Загрузите ODBC, создайте нужный источник данных, естественно при наличии на компьютере необходимого драйвера, и снова переключитесь в Visual FoxPro. В зависимости от того, к данным какого формата вы хотите обратиться, будут доступны либо таблицы из конкретного каталога, либо из конкретной базы данных. В случае с SQL Server и Microsoft Access это будут таблицы из баз данных, которые вы укажете в источнике данных. После того как вы выберете необходимое вам соединение или источник данных и нажмете кнопку OK, станет доступен Конструктор представлений вместе с диалогом по выбору таблиц из внешней базы данных, к которой вы присоединились. В остальном различий с Конструктором локальных представлений нет. Если необходимо смешивать локальные данные с внешними, то надо построить по крайней мере два представления. Первое - это представление, которое будет состоять из данных на сервере, а второе будет состоять из данных из локальной таблицы или таблиц и полученного на первом этапе представления. Для того что ваши изменения после модификации данных в полученном представлении второго уровня отображались на сервере, необходимо использовать функцию TABLEUPDATE() дважды - вначале в представлении второго уровня, затем в представлении первого уровня. Другой способ - это последовательно закрыть представление второго уровня, а затем первого. Выше были описаны два способа работы с внешними данными, SQL pass-through и внешние представления. SQL pass-through требует большего объема программирования, но в то же время, используя эту технологию, вы практически не ограничены в своих возможностях по управлению внешними данными. Внешние представления легче использовать, значительно меньше объем программирования, но с их помощью можно только модифицировать данные: редактировать, удалять и добавлять записи. Любой набор данных или курсор, который вы получите, можно просматривать с помощью окна Browse или объекта Grid. Говоря другими словами, вся эта технология тесно интегрирована. Объекты Grid или Browse сами по себе можно считать средствами управлениями данными, по гибкости не имеющими аналогов среди других популярных систем. Можете проверить, что скорость доступа к данным уменьшается незначительно, даже если эти объекты активны. Все замедление отнесите на счет вашего видеоадаптера, а объекты достаточно быстро отображают искомую информацию. Но все-таки у вас могут возникнуть потребности выбирать данные еще быстрее, по крайней мере будет казаться, что вы можете этого добиться, если залезете в глубь процесса технологии ODBC или какой-либо другой, в случае если ее функции будут доступны с помощью какого-нибудь API. Тогда вспомните, что Visual FoxPro поддерживает вызовы DLL, что, впрочем, делали и его недавние предшественники, правда, посредством немного более сложных манипуляций. Поэтому в следующем разделе при обсуждении вопросов взаимодействия Access и Visual Basic с внешними данными все, что касается доступа к данным через ODBC API, RDO (объекты доступа к внешним данным), SQL-DMO, в равной мере относится и к Visual FoxPro. Опоена I 2\ Тдил- [сеойстео]: ~ 3 I noyMOntinj ifirraHoehH. кнопку Etrij Найдено фа MiirrOiuflAc-cs;* dEAE fll dEftSE W dEftSE S I файлов. Для икдойабления -запцстнге npofpii.irAy йигь>г41№ л е Флаж)йк Лоот х данным к гажкмтв Рис. 8.5. Диалоговое окно Связь в Access 7.0 После выбора этого элемента перед вами возникнет следующее диалоговое окно, в котором вы увидите список всех источников данных (Data Source), доступных на компьютере. Если нужного источника данных в списке нет, то вы с помощью кнопки New легко можете перейти в Администратор ODBC и создать требуемый источник (рис. 8.6). 8.3. Использование Access и Visual Basic для разработки клиентского приложения Access и Visual Basic предоставляют разнообразные средства для работы с внешними данными. В этом параграфе мы кратко расскажем об этих средствах, снабдив изложение небольшими примерами, которые вы можете развить до более высокой степени функциональности. Технологии, доступные как в обоих продуктах, так и в каждом по отдельности, будут описываться в зависимости от степени сложности, а не отдельно для каждого пакета. Это делается специально, так как переход от одной среды разработки к другой достаточно легок в связи с тем, что в основе этих продуктов лежит один язык. При работе в Microsoft Access самый простой способ обработки информации с SQL Server -использование присоединенных таблиц. Для этого используйте команду Внешние данные из меню Файл. Из двух опций Импорт и Связь с таблицами нас интересует вторая, так как после импорта способы передачи обновленной информации на сервер не так легки, как во втором случае. После того как вы выберете команду Связь с таблицами, вы попадете в диалоговое окно Связь. Главный элемент на первом этапе для нас - это список Тип файла. В этом списке перечисляются все типы файлов, с которыми работает процессор баз данных Microsoft Access, достаточно впечатляющий по количеству поддерживаемых СУБД различных версий. Но нас интересует элемент, который расширяет этот список еще значительнее. Как вы уже догадались, этот элемент называется базы данных ODBC (рис. 8.5).
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |