Руководство разработчика баз данных на Visual Basic 6

Роджер Дженнингс

Roger Jennings' Database Developer's Guide with Visual Basic 6
книга Руководство разработчика баз данных на Visual Basic 6

Тираж данной книги закончился.
Введение
Рецензии на книгу

Пакет Microsoft Visual Basic 6.0 представляет собой идеальную платформу для создания интерфейсов с локальными базами данных и базами данных типа клиент/сервер в среде Windows. В этой книге, ориентированной в первую очередь на читателя, знакомого с Visual Basic или, по крайней мере, с любым другим языком программирования для Windows, и имеющего определенный опыт в разработке приложений для работы с базами данных, вы познакомитесь с новыми возможностями пакета, становящегося в одном ряду с такими известными программными средствами, как Inprise Delphi или Sybase PowerBuilder. Здесь вы узнаете о новых возможностях Visual Basic по работе с базами данных, в первую очередь такими последними разработками Microsoft, как OLE DB и ActiveX Data Objects, пришедших на смену прикладному интерфейсу программирования Open Database Connectivity (ODBC). Книга содержит огромное количество готовых примеров приложений для работы с базами данных - от простейших локальных баз данных до многоуровневой архитектуры клиент/сервер, а также приложений для работы в intranet и Internet с использованием таких передовых технологий, как DHTML, XML и ASP. Не обойдены вниманием и вопросы безопасности баз данных.
Книга представляет интерес не только для профессиональных программистов или администраторов информационных служб компаний, но и для всех, кому интересно ознакомиться с примерами коммерческого применения пользовательских интерфейсов Visual Basic 6.0 с базами данных.

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

976 стр., с ил.; ISBN 5-8459-0001-8, 0-672-31063-5; формат 70х100/16; CD-ROM; серия Руководство разработчика; 1999, 3 кв.; Вильямс.



Понравилась книга? Порекомендуйте её друзьям и коллегам:







Книги, рекомендуемые вместе с этой книгой:



ОБ АВТОРЕ

Роджер Дженнингс (Roger Jennings) является консультантом по системам баз данных клиент/сервер, работающим в Windows. Он был членом группы Microsoft по техническому бета-тестированию всех версий Visual Basic, начиная с 2.0; всех версий Microsoft Access; Windows 3.1, Windows for Workgroups 3.1 и 3.11; Windows 95 и 98; Windows NT 3.5, 4.0 и 5.0 Server; драйверов Microsoft ODBC 2.0 и 2.5; Microsoft SQL Server 6.0, 6.5 и 7.0. Роджер — автор книги Access 2 Developer’s Guide издательства Sams Publishing и трех других книг по Microsoft Access, а также книг, посвященных Windows 95, Windows NT Server 4.0 и технологии мультимедиа в Windows. В соавторстве Петером Гипсоном (Peter Hipson) им была выпущена книга Database Developer’s Guide with Visual C++ 4.0 в издательстве SAMS. Роджер сотрудничает с редакцией Visual Basic Programmer’s Journal издательства Fawcette Technical Publication (http://www.devx.com/), а также является соавтором работы Грега Нельсона (Greg Nelson) A Client/Server Application: From Concept to Reality, которая содержится на компакт-диске Microsoft Developer’s Network.

Роджер Дженингс имеет более чем 25-летний опыт работы с компьютерами, которая начиналась с настольного калькулятора Wang 700. Статьи Роджера по программному и аппаратному обеспечению публиковались Академией наук СССР, Обществом инженеров автомобильного транспорта (Society of Automotive Engineers), Американским химическим обществом (American Chemical Society), а также многими другими научными и техническими организациями. Полную биографию Роджера можно найти по адресу http://www.mcp.com/publishers/sams/ rodger_jennings/. Он возглавляет консультативную фирму OakLeaf Systems в Северной Калифорнии и курирует сервер Chump Change Records (http://www.chumpchange.com). С Роджером можно связаться по адресу [email protected].

ВВЕДЕНИЕ

Пакет Microsoft Visual Basic, который используют более миллиона разработчиков во всем мире, представляет собой ведущую платформу для создания интерфейсов с локальными базами данных и базами данных типа клиент/сервер в среде Windows. По данным Microsoft более 85% всех приложений Visual Basic используют доступ к базам данных. С выходом Visual Basic 6.0 эта цифра, конечно же, будет увеличиваться.

Предыдущие пять версий Visual Basic уступали другим средствам быстрой разработки приложений (rapid application development — RAD) баз данных, например таких, как Inprise (бывшая фирма Borland) Delphi и Sybase PowerBuilder. С выходом шестой версии Visual Basic, несомненно, был внесен значительный вклад во все возрастающую долю рынка средств быстрой разработки Microsoft. Чтобы ознакомиться с претендующим на объективность сравнением Visual Basic 6.0 с последними версиями пакетов Delphi и PowerBuilder, прочитайте статью Benchmark: Rapid Application Development Tools, которую можно найти по адресу http://msdn.microsoft.com/ vbasic/prodinfo/benchmarks/bench1.asp. Этот отчет корпорации NSTL (бывшей National Software Testing Laboratories) был заказан фирмой Microsoft.

В сущности, все основные дополнения и усовершенствования в Visual Basic 6.0 связаны с данными, в чем можно убедиться, обратившись к Web-странице What’s New in Visual Basic 6.0 по адресу http://msdn.microsoft.com/vbasic/prodinfo/new.asp. Восемь из девяти ключевых возможностей Visual Basic 6.0, рассматриваемых на этой странице, связаны с базами данных.

Такие средства, как OLE DB и ActiveX Data Objects (ADO), представляют наиболее важные доработки в шестой версии. В главе 1, "Промышленные разработки на Visual Basic", подробно рассказывается об этих новых возможностях. В последующих главах книги детально описываются все компоненты шестой версии, связанные с работой с данными. В настоящем издании рассматриваются только средства OLE DB, ADO Multidimensional (ADO MD) и вопросы, связанные с использованием баз данных; объекты Data Access Object (DAO) не рассматриваются.

Для кого написана эта книга

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

  • Для разработчиков Visual Basic, которые желают максимально использовать преимущества пакета Visual Basic 6.0 в работе с базами данных и создании работоспособного интерфейса для различных локальных баз данных и баз данных клиент/сервер.
  • Для опытных разработчиков Visual Basic, которые хотят расширить свой опыт работы с языком VBA для создания приложений, связанных с обменом данными в Internet или локальной сети intranet. Классы WebClass (для IIS-приложений Internet и intranet) и страницы Dynamic HTML (для DHTML-приложений intranet) позволяют заменить VBA более простым языком сценариев и ускоряют обработку Web-страниц, содержание которых формируется путем обращения к базе данных.
  • Для разработчиков Microsoft Access, которым необходимы дополнительные средства управления отображением данных и редактирования форм, отсутствующие в настоящей версии Microsoft Access. Кроме того, пользовательский интерфейс Visual Basic с базами данных требует меньше ресурсов по сравнению с аналогичными приложениями Access 97.
  • Для разработчиков приложений баз данных, базирующихся на операционной системе MS DOS, если пользователи базы данных или руководство окончательно решило перейти от приложений DOS к приложениям Windows. По-прежнему широко используется удивительно большое количество коммерческих DOS-приложений!
  • Для пользователей баз данных, разработанных на других платформах, которым необходимо создать промышленный интерфейс с 32-разрядной базой данных, реализованный в системе Windows 9x или Windows NT 4+. Операционная система Windows NT быстро расширяет сферу своего влияния на корпоративном рынке программного обеспечения серверов и рабочих станций.
  • Для бывших программистов на языках типа C, которым хотелось бы разрабатывать приложения базы данных, расходуя при этом меньше четверти времени, требуемого для разработки таких же приложений на языке C или C++. Те, кто привыкли к Visual C++, могут быстро создать прототип пользовательского интерфейса с базой данных с помощью Visual Basic 6.0 (просто поразительно, как многие прототипы Visual Basic подходят для пользовательских интерфейсов с производственными базами данных!).
  • Для жертв сокращения на предприятии, которым необходимо приобрести опыт в разработке баз данных Windows для получения прибыльной работы.
  • Для пользователей средств разработки собственных графических пользовательских интерфейсов баз данных клиент/сервер, которых не устраивают лицензионные права, ограничивающие количество клиентов рабочих станций, подключенных к серверу.
  • Для руководящих информационных служащих (Chief information officers — CIO) или администраторов управленческих информационных служб (management information services — MIS), которым необходимо принять квалифицированное решение, какой производитель интерфейса Windows будет выбран их организацией в качестве стандарта.
  • Для всех, кому интересно ознакомиться с примерами коммерческого применения пользовательских интерфейсов Visual Basic 6.0 с базами данных и кто зарабатывает на жизнь разработками, обеспечивая себе приличный уровень доходов.

Для изучения этой книги читатель должен иметь, по крайней мере, некоторый опыт работы с Visual Basic для приложений или с одним из традиционных языков для построения приложений в среде Windows наподобие Delphi или PowerBuilder. В книге нет введения в технику разработки с помощью Visual Basic — этот пробел могут восполнить имеющиеся в изобилии великолепные учебные пособия и справочники (далее в данном введении приводится перечень лучших книг и другие источники информации для разработчиков на Visual Basic от начального до среднего уровня). В начале этой книги кратко описывается рынок локальных баз данных, баз данных типа клиент/сервер и место Visual Basic на этом рынке. Затем автор сразу же переходит к работе с объектами ActiveX Data Objects в Visual Basic. В целом, книга посвящена созданию удобных пользовательских интерфейсов с базами данных с помощью объектов ADO, а каждый пример кода Visual Basic в ней содержит, по крайней мере, одно соединение с базой данных ADODB.Connection. За исключением подготовительных проектов, примеры приложений в этой книге нетривиальны; многие проекты занимают от 2 000 до 7 500 строк кода VBA.

Все примеры кодов, кроме несущественных фрагментов, записаны на компакт-диск, прилагаемый к книге, вместе с образцами баз данных Jet 3.51 и сценариями SQL, которые генерируют хранимые процедуры SQL-сервера, необходимые для изучения главы 21, "Хранимые процедуры Transact-SQL", и последующих глав. Общий объем файлов, содержащих примеры проектов, составляет около 80 Мбайт. Некоторые из примеров проектов, скажем, для главы 14, "Планирование задач и управление устройствами с помощью Jet и VBA", настолько велики, что их таблицы можно применять для оценки производительности системы. Советы и замечания основаны на опыте разработчиков базы данных, использовавших бета- и коммерческую версии Visual Basic 6.0.

Что необходимо для эффективного использования книги

Прежде всего, необходимо иметь профессиональный выпуск пакета Visual Basic 6.0. Учебным выпуском Visual Basic не поддерживаются объекты ADO, которые представляют основной предмет рассмотрения этой книги. Кроме того, для работы с примерами глав с 18, "Работа с базами данных клиент/сервер", по 27, "Работа с компонентами MTS", необходим, по крайней мере, Developer Edition SQL Server 6.5, который входит в состав Enterprise Edition Visual Basic 6.0. Хотя в книге в качестве СУБД клиент/сервер используется версия Beta 3 SQL Server 7.0, примеры работают и для версии 6.5. Для освоения главы 28, "Анализ многомерных данных с помощью OLAP и MDX", не требуется SQL-сервер, но необходимо загрузить пакеты Microsoft Data Access Components (MDAC) 2.0 и Data Access SDK 2.0, имеющиеся по адресу http://www.microsoft.com/ data/mdac2.htm, чтобы получить пример куба данных (Bobsvid.cub), файлы поддержки службы сводных таблиц PivotTable Service и файлы провайдера данных ADO MD.

Если у вас нет обновленной версии Visual Studio 6.0 или Visual Basic 6.0, просмотрите новости на странице Microsoft’s Features by Edition по адресу http://msdn. microsoft.com/vbasic/prodinfo/datasheet/feature.asp, где имеется список содержимого редакций Learning, Professional и Enterprise.

Настоятельно рекомендуется приобрести лицензию на Microsoft Access 97 в том случае, если вы собираетесь применять файлы .mdb базы данных Access в коммерческом пользовательском интерфейсе. Для создания новых баз данных и добавления таблиц проще и быстрее использовать Access 97 вместо надстройки Visual Basic 6.0 Visual Data Manager. Можно также применять окно Access 97 Query Design для графического создания запроса, проверки результатов и последующего копирования операторов SQL, соответствующих запросу, в код Visual Basic. С помощью окна Access 97 Relationships значительно легче определить правила, обеспечивающие целостность ссылок, и дополнительные правила, которые поддерживают целостность домена, чем обращаться непосредственно к коду Visual Basic 6.0. К сожалению, средство ADO 2.0 не поддерживает специфические объекты Access (такие, как Users и Groups) и не позволяет создавать файлы рабочей группы Access (.mdw) для безопасных многопользовательских приложений. Дополнительное преимущество от приобретения Access 97 заключается в наличии инструментов проектирования базы данных и документации, чего еще нет у разработчиков баз данных Visual Basic. Те, кто зарабатывают разработками приложений баз данных, многократно окупят вложенные в Access 97 средства.

Если для многопользовательского интерфейса с базой данных используются файлы .mdb Access 97 и необходимо распространить его и на базу данных клиент/сервер, решите эту задачу с помощью средства Microsoft Access 97 Upsizing Toolkit (AUT). Оно является условно бесплатной надстройкой для Access 97, которую можно загрузить с узла http://www.microsoft.com/ AccessDev/. С помощью средства AUT таблицы автоматически экспортируются из файлов .mdb в базу данных Microsoft SQL Server 6.x. К сожалению, текущая версия AUT не работает с SQL Server 7.0. С помощью мастера Upsizing Wizard, включаемого в AUT, записываются операторы языка определения данных (Data Definition Language — DDL) Transact-SQL (серверный вариант SQL) для создания таблиц сервера, обновления таблиц данными из файлов .mdb и добавления индексов и значений по умолчанию для полей таблицы. Мастером также записывается код Transact-SQL CREATE TRIGGER, необходимый для обслуживания домена и поддержки целостности ссылок баз данных сервера SQL. Если используется SQL Server 6+, который обеспечивает декларативную целостность ссылок (declarative referential integrity — DRI), в процессе генерации таблицы мастером Upsizing Wizard записываются операторы ANSI SQL-92 SQL для обеспечения целостности ссылок.

Компьютеры, использовавшиеся при написании книги

Для глав части V, "Приложения для работы с многопользовательскими базами данных ", использовались различные конфигурации серверов и рабочих станций, чтобы продемонстрировать приемы работы в сети с рабочей группой и базой данных клиент/сервер. Все компьютеры объединялись в сеть с помощью тонкого кабеля Ethernet (10Base-2) через сетевые интерфейсные платы с пропускной способностью 10 Мбит/с. К двум серверам (OAKLEAF1 и OAKLEAF3) станции подсоединялись через сетевые платы 100Base-T. Ниже перечислены имена и адреса IP для каждого компьютера и приведено краткое описание конфигурации.

  • OAKLEAF0 (131.254.7.1) — первичный контроллер домена (PDC) для сети из шести компьютеров. Windows NT Server 4.0 на Pentium PC 133 МГц с 64 Мбайт оперативной памяти. Машина OAKLEAF0 — первичный сервер базы данных, на котором работают SQL Server 6.5 и 7.0 в режиме переключения. На OAKLEAF0 работает также сервер Internet Information Server 2.0 и бета-версия сервера Microsoft OLAP Server (под кодовым названием "Plato"). OAKLEAF0 использует SCSI-адаптер AHA-2940UW для подключения одного жесткого диска Seagate ST15150W объемом 4,3 Гбайт Barracuda, отформатированного с файловой системой NTFS (New Technology File System), ленточный накопитель Tandberg объемом 1 Гбайт и SCSI-дисковод CDROM.

    Серверы SQL Server 6.5 и 7.0 могут быть установлены на одном сервере, однако не могут работать одновременно. Команда меню StartProgramsMicrosoft SQL Server-Switch (Common) позволяет запустить нужную версию. Переключение между серверами необходимо для преобразования файлов (.dat) устройств SQL Server 6.5 в файлы базы данных (.mdf) и протоколов (.ldf) SQL Server 7.0 на одном и том же компьютере. В отличие от предшествующих версий SQL Server, структура файлов в версии 7.0 значительно изменилась. Переключение между версиями на одном и том же сервере позволяет сравнивать производительность двух программных продуктов без введения переменных, зависящих от оборудования.

     

  • OAKLEAF1 (131.254.7.2) — Pentium II PC 266 МГц с 128 Мбайт оперативной памяти, с возможностью загрузки Windows 98 и Windows NT 4.0 Server с Service Pack 4 и Windows NT 4.0 Option Pack. Версия Desktop SQL Server 7.0 выполняется в Windows 98, а полная версия работает в среде Windows NT 4.0 Server с последней бета-версией Service Pack 4. На OAKLEAF1 установлена СУБД Oracle 8.0.3 для Windows NT. Имеются два жестких диска объемом 4,3 Гбайт Quantum Fireball ST Ultra-DMA IDE (один из которых отформатирован с файловой системой FAT32, а другой — NTFS) и дисковод CD-ROM 12X. Кроме того, имеются два жестких диска емкостью 4,3 Гбайт Seagate Barracuda 4XL Ultra-SCSI, отформатированных с файловой системой NTFS, которые установлены в отдельном массиве RAID 0, подключенном к адаптеру Adaptec AHA-8945 SCSI/IEEE-1394. Компьютер используется для редактирования цифрового видео и тестирования бета-версий программного обеспечения. Все примеры Visual Basic 6.0 в этой книге были написаны и протестированы на компьютере OAKLEAF1.
  • OAKLEAF2 (131.254.7.4) — рабочая станция Pentium MMX PC 200 МГц с 32 Мбайт оперативной памяти и возможностью загрузки Windows 95 и Windows NT 4.0 Workstation. Версия Desktop SQL Server 7.0 работает в Windows 95 и Windows NT 4.0. На OAKLEAF2 имеются два жестких диска объемом 4,3 Гбайт Quantum Fireball ST Ultra-DMA IDE, отформатированных с файловой системой FAT16, дисковод Iomega Zip и дисковод CD-ROM 12X. Компьютер использовался для написания этого издания книги; никакие бета-версии программного обеспечения на этом компьютере не применялись.
  • OAKLEAF3 (131.254.7.3) — сервер Pentium II 233 МГц с 96 Мбайт оперативной памяти и возможностью загрузки Windows 98 и Windows NT 4.0 Server, который служит резервным контроллером домена (BDC) для домена OAKLEAF. На компьютере OAKLEAF3 имеются два жестких диска объемом 4,3 Гбайт Quantum Fireball ST IDE, отформатированных с файловой системой FAT16, дисковод CD-ROM 8X, дисковод Iomega Jazz и SCSI-адаптер Adaptec AHA-2940UW для подключения двух жестких дисков Seagate ST15150W объемом 4,3 Гбайт Barracuda в массиве RAID 1, отформатированных с файловой системой NTFS. На компьютере работает SQL Server 7.0 в качестве вспомогательного сервера базы данных, Exchange Server, SMS Server, Internet Information Server 4.0 и Transaction Server 2.0.
  • OAKLEAF4 (131.254.7.5) — переносной компьютер Pentium 120 МГц с 32 Мбайт оперативной памяти и операционной системой Windows 95. Компьютер OAKLEAF4 иногда подключается к сети для обновления файлов.
  • OAKLEAF5 (131.254.7.6) — рабочая станция Pentium MMX 200 МГц с 96 Мбайт оперативной памяти, системой Windows 98 и версией Desktop SQL Server 7.0. На OAKLEAF2 имеется жесткий диск объемом 4,3 Гбайт Quantum Fireball ST IDE, отформатированный в формате FAT32, и дисковод CD-ROM 12X. Компьютер используется для написания музыки в формате MIDI, записи и редактирования цифровых аудио-данных, а также бета-тестирования программного обеспечения, которое несовместимо с программным обеспечением, установленным на компьютере OAKLEAF2.

СОДЕРЖАНИЕ КНИГИ

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

Часть I. Объекты данных ActiveX и элементы управления данными

В этой части описываются возможности Visual Basic 6.0 как среды разработки пользовательского интерфейса базы данных в системе Windows.

  • В главе 1, "Промышленные разработки на Visual Basic", анализируются новые возможности Visual Basic 6.0 для разработчиков баз данных и соответствие языка стратегии Microsoft, направленной на усиление влияния на рынок разработки локальных баз данных и баз данных клиент/сервер.
  • В главе 2, "Технология OLE DB и универсальный доступ к данным", подробно описываются возможности технологий OLE DB 1.0 и ADO 2.0, приводятся примеры программирования объектов ADO Connection, Command, Parameter и Recordset c использованием баз данных .mdb Jet 3.51.
  • В главе 3, "Переход от технологий DAO и RDO к ADO", приводится простой путь перехода от уже устаревших объектов Data Access Objects к объектам ActiveX Data Access Objects, являющихся основой универсального доступа к данным (Universal Data Access) при разработке на Visual Basic.
  • В главе 4, "Использование элемента управления данными ADO со связанными элементами управления", представлен простой пользовательский интерфейс с базой данных, в котором используются элементы управления ADO Data control (ADODB) и другие элементы управления ADO, предназначенные для работы с данными, которые соединяют таблицы баз данных с провайдером данных OLE DB для Access.

Часть II. Концепции баз данных и создания запросов

В этой части рассматриваются вопросы проектирования реляционных баз данных и использования языка SQL для создания запросов выборки (SELECT) и корректировки (UPDATE, INSERT и DELETE), в которых применяются средства ADO и механизм базы данных Jet 3.51.

  • В главе 5, "Оптимизация проектирования реляционных баз данных", рассказывается, как нормализовать данные, чтобы устранить их избыточность.
  • В главе 6, "Язык структурированных запросов", обсуждаются языки ANSI SQL-89 и SQL-92 и отличие языка Jet SQL от "стандартного" языка SQL, используемого базами данных клиент/сервер и мэйнфреймами.
  • В главе 7, "Выполнение перекрестных запросов и запросов на изменение", рассматриваются более сложные по сравнению с простым оператором SQL SELECT запросы, в частности запросы, включающие зарезервированные слова SQL TRANSFORM, PIVOT, INTO и другие редко употребляемые слова SQL для формирования запроса на изменение.
  • В главе 8, "Подключение к настольным источникам данных с помощью ODBC", объясняется, как использовать язык MSDASQL и технологию Microsoft OLE DB Data Provider for ODBC для подключения к базам данных, для которых еще не созданы свои провайдеры OLE DB.

Часть III. Введение в разработку пользовательских приложений

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

  • В главе 9, "Создание приложений для принятия решений", описываются основы преобразования необработанных данных в данные, которые могут отображаться в формах Visual Basic.
  • В главе 10, "Полное использование возможностей элементов управления, связанных с данными", обсуждаются способы сочетания новых элементов управления данными Visual Basic с кодом VBA для настройки операций управления. В главе также приводится синтаксис оператора SHAPE для генерации иерархического набора записей Recordset.
  • В главе 11, "Графическое представление сводных данных", демонстрируется средство Microsoft Chart control (Mschart20.ocx) версии 2.0 для создания черновых представлений итогов (которые так любит высшее руководство).
  • В главе 12, "Печать с помощью конструктора отчетов и кода на VBA", объясняется, как разрабатывать печатные отчеты и генерировать цельный объединенный отчет с помощью пользовательского интерфейса с базой данных через связывание данных ADO.

Часть IV. Усложненные методы доступа к данным и автоматизация

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

  • В главе 13, "Детализация данных графиков и диаграмм", подробно рассматриваются практические графические приложения, которые позволяют пользователям получить детальные данные с помощью щелчка мышью на активной области итоговых графиков, диаграмм и координатных сеток.
  • В главе 14, "Планирование задач и управление устройствами с помощью Jet и VBA", исследуется очень сложное, связанное с базой данных, приложение Visual Basic 6.0, которое включает инфракрасное управление электронными устройствами абонентов в реальном времени. Проект, рассматриваемый в этой главе, содержит более 7 500 строк кода VBA и обращается к базе данных Jet 3.51 с 19 000 записей, которая является производной от приложения WebTV Windows 98.
  • В главе 15, "Создание локальных компонентов автоматизации и библиотек ActiveX DLL", описывается, как создавать мини-серверы Automation, связанные с базой данных, и дополняемые библиотеки ActiveX DLL, которые можно использовать с Visual Basic 6.0 и другими клиентами, поддерживающими VBA.
  • В главе 16, "Создание пользовательских элементов управления", показано, как можно создать собственные элементы управления ActiveX для включения в интерфейс Visual Basic 6.0 с базой данных.

Часть V. Приложения для работы с многопользовательскими базами данных

До этой части в книге рассматриваются независимые приложения, разработанные, главным образом, для отдельного пользователя. В части V, "Приложения для работы с многопользовательскими базами данных ", приводятся предварительные сведения и примеры, необходимые как дополнение к интерфейсу Visual Basic 6.0 с базой данных для работы в сети и базой данных клиент/сервер. В примерах используются системы Windows 9x, Windows NT Server 4.0, Jet 3.51 и SQL Server 6.5 и 7.0.

  • В главе 17, "Работа в сети с защищенными многопользователь-скими базами данных Jet", описывается, как применять одноранговые сети и сетевые серверы для совместного использования баз данных Jet 3.51 между членами рабочей группы или целой организации.
  • В главе 18, "Работа с базами данных клиент/сервер", читателю представляется SQL Server 7.0, объясняется, как использовать средство AUT с сервером SQL Server 6.x, показывается, как импортировать таблицы баз данных в Jet 3.51 SQL Server 7.0, а также разъясняется, как выполнить соединение объектов ADO Connection сервера SQL Server с провайдером Microsoft OLE DB Provider for SQL Server (SQLOLEDB).
  • В главе 19, "Транзакции и пакетные операции", излагаются основные принципы контроля непротиворечивости базы данных с помощью транзакций, использования двухэтапного завершения транзакции с помощью средства Microsoft Distributed Transaction Coordinator, дублирования базы данных и выполнения группового обновления с отсоединенными наборами данных Recordset.
  • В главе 20, "Преобразование OLTP-приложений Access в код Visual Basic 6.0", демонстрируется процесс преобразования производственного уровня приложения клиент/сервер Access 97 OLTP в его аналог Visual Basic 6.0, в котором используется ADO 2.0 для подключения к SQL Server.
  • В главе 21, "Хранимые процедуры Transact-SQL", рассматривается настройка приложений Visual Basic 6.0 OLTP главы 20, "Преобразование OLTP-приложений Access в код Visual Basic 6.0", для значительного повышения производительности при использовании хранимых процедур SQL Server 6.x или 7.0. В главе также демонстрируется, как минимизировать код VBA, который необходим для передачи значений параметров в хранимые процедуры с помощью совокупности Parameters объекта Command среды данных DataEnvironment.

Часть VI. Базы данных, Internet и intranet

Здесь рассматриваются новые возможности Visual Basic 6.0, связанные с Internet (классы WebClass (IIS-приложения) и страницы Dynamic HTML Pages (DHTML-приложения)), с акцентом на взаимодействие приложений intranet и Internet с базой данных.

  • В главе 22, "Интеграция баз данных в Internet и intranet", объясняется, как Visual Basic 6.0 взаимодействует с архитектурой Windows Distributed interNet Applications Architecture (Windows DNA). Здесь показано, как создать простой класс данных WebClass и проекты DHTML для развертывания Internet и intranets соответственно.
  • В главе 23, "Работа с документами ActiveX в сетях intranet", рассказывается, как преобразовывать приложения OLTP глав 20, "Преобразование OLTP-приложений Access в код Visual Basic 6.0", и 21, "Хранимые процедуры Transact-SQL", в документы ActiveX и затем размещать их на Web-сервере с помощью средства Package и мастера Deployment Wizard.
  • В главе 24, "Работа со службами удаленных данных", представлены "облегченные", отсоединенные объекты ADOR.Recordset, которые могут передаваться броузеру и приниматься от броузера клиентами с помощью протоколов DCOM и HTTP.
  • В главе 25, "Создание Internet-приложений баз данных", рассматриваются производственные IIS-приложения (проекты WebClass), написанные Microsoft для своего Web-узла на Visual Basic 6.0, от стадии их разработки до модификации.

Часть VII. Методы разработки корпоративных приложений

Редакция Enterprise пакета Visual Basic 6.0 предназначена, прежде всего, для разработчиков современных 32-разрядных интерфейсов баз данных клиент/сервер и сложных приложений, которые включают среду группового программирования. Чтобы выполнить примеры из глав 26, "Преимущества сервера Microsoft Transaction Server 2.0", и 27, "Работа с компонентами MTS", необходимы система Windows NT Server 4.0 с установленным пакетом Service Pack 3+, пакет Windows NT 4.0 Option pack, а также права системного администратора для сервера SQL Server 6.5+.

  • В главе 26, "Преимущества сервера Microsoft Transaction Server 2.0", объясняется, как сочетать средства MTS 2.0 и DTC, чтобы обеспечить средний уровень для расширяемого трехуровневого приложения клиент/сервер. В главе демонстрируются способы установки и тестирования средства MTS 2.0 c помощью приложения Sample Bank.
  • В главе 27, "Работа с компонентами MTS", подробно описывается трехшаговый процесс преобразования приложения OLAP из главы 21, "Хранимые процедуры Transact-SQL", из единого клиента в расширяемое трехуровневое приложение, имеющее доступ к данным, контролируемым с помощью средства ActiveX DLL среднего уровня на основе MTS 2.0.
  • В главе 28, "Анализ многомерных данных с помощью OLAP и MDX", представляются концепции рынка данных и хранилищ данных, многомерных схем баз данных, а также использование средств OLE DB для OLAP, ADO MD и MDX для извлечения и отображения многомерных данных из куба данных сводной таблицы PivotTable. Для примеров этой главы не требуется SQL Server, но необходимы средства MDAC 2.0 и Data Access SDK, которые можно загрузить с узла http://www.microsoft.com/data/, в частности нужны BobsVid.cub, OLE DB для OLAP и ADO MD. Расширения OLAP не включены в Visual Basic 6.0.

Словарь терминов

Книга завершается словарем терминов, которые могут быть незнакомы новичкам в разработке баз данных в Windows, в интерфейсах реляционных баз данных или в Windows NT. Большое внимание уделяется определениям специальных терминов, сокращениям и аббревиатурам, которые используются в книге (особенно — новых терминов, связанных с OLE DB, ADO), хранилищам данных и рынкам, OLAP, MDX и ADO MD.

СОГЛАШЕНИЯ, ПРИНЯТЫЕ В ЭТОЙ КНИГЕ

В книге используется множество стилей для выделения пояснений, исходных данных, задаваемых в диалоговых окнах Windows, и кода, который вводится в окне редактирования Visual Basic. Ниже следуют разделы, в которых описаны соглашения, используемые в книге.

Комбинации клавиш, выбор в меню и исходные данные диалога

Сочетания клавиши <Alt> с произвольной клавишей и <Ctrl> с произвольной клавишей, которые используются в качестве альтернативной замены соответствующих действий, выполняемых с помощью мыши, обозначаются названием клавиши с предшествующим знаком "+". Например, комбинация клавиш <Ctrl+C> служит для копирования выделенного текста, выбранного объекта и т.п. в буфер обмена. <Alt+H> — распространенная комбинация, используемая вместо щелчка мышью на кнопке Help. В некоторых приложениях, например в Microsoft Word, могут использоваться многоклавишные комбинации, такие как <Ctrl+Shift+клавиша>.

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

Входные данные, которые задаются пользователем в диалоговом окне или записываются с позиции, обозначаемой точкой вставки в документе, выделяются специальным шрифтом. Если для выполнения команды меню требуются входные данные, такие как имя файла в диалоге, имя файла задается в соответствии с соглашениями 32-разрядной системы Windows, например FileOpen Vb3demo.vbp. Подразумевается завершение ввода данных нажатием клавиши <Tab> для перехода к другому диалоговому элементу управления, а также нажатием клавиши <Enter>.

В случаях, когда вам необходимо для выполнения действия нажать несколько клавиш подряд (что маловероятно), названия клавиш разделяются запятыми без пробелов, например <Alt,X,Y>.

Имена файлов и расширения

В именах файлов используются прописные и строчные буквы, например PerSel32.exe.

Код VBA, операторы SQL, исходные коды на других языках

Примеры кода VBA, операторы SQL и исходные фрагменты кода на других языках программирования выделены моноширинным шрифтом. Ключевые слова, имена объектов, типы данных объектов и совокупности записываются обычным моноширинным шрифтом. Зарезервированные слова и ключевые слова в Jet, Transact-SQL и диалектах ANSI SQL записываются прописными буквами этого же шрифта. Вот пример форматирования операторов SQL:

SELECT Name, Address, City, Zip_Code
FROM Customers
WHERE Zip_Code >= 90000

Если длина оператора SQL превышает длину печатной страницы, используется пара символов продолжения строки ( _), несмотря на то что эта пара разделителей не допустима при вставке в переменную String оператора SQL.

Специальные реализации SQL, которые не удовлетворяют стандартам ANSI SQL-92, например синтаксис {ts DateVariable}, используемый Microsoft Query для указания типов данных времени, записываются так же, как и в диалоговом окне приложения. Однако операторы PIVOT и TRANSFORM языка SQL Jet (который, к сожалению, не был включен в SQL-92 или версию 7.0 Transact-SQL) неизменно записываются прописными буквами.

Примеры кода VBA, фрагменты кода

Как упоминалось ранее, все примеры кода VBA, а также примеры кода на других диалектах Visual Basic, таких как Access (2.0) Basic и Word Basic, выделены моноширинным шрифтом. Тот же моноширинный шрифт используется для выделения фрагментов кода в поясняющем тексте с пропорциональным шрифтом.

Заменяемые имена переменных, аргументы и параметры выделены курсивным начертанием моноширинного шрифта. Префиксы — идентификаторы фундаментальных типов данных Visual Basic, определяющие тип данных переменной, а также типы объектов курсивом не выделяются.

Хотя ни в одном из примеров этой книги не используются объекты DAO, в начале всех объявлений объектов ADO указаны уточнения ADODB (ADO 2.0) или ADOR (наборы записей RDS), как в следующих примерах:

Dim cnnPubs As ADODB.Connection

и

Private rstRowset As ADOR.Recordset

Если квадратные скобки ([]) выделены полужирным, значит, в них заключено имя объекта, свойства или метода, который без этих скобок допустим в синтаксисе VBA только в двойных кавычках. Примерами служат имена полей в базах данных Jet, которые содержат пробелы или другие знаки пунктуации вместо знаков подчеркивания, а также имена объектов или членов наборов, конфликтующие с зарезервированными словами VBA. Квадратные скобки в обычном начертании указывают на необязательность заключенного в них элемента, такого, например, как необязательный аргумент функции.

Фигурные скобки ({}) указывают на то, что можно выбрать один из альтернативных вариантов, разделенных символом "¦", как в следующем примере: Do {While¦Until} Loop. Вышесказанное не касается специального использования фигурных скобок в операторах SQL Microsoft Query.

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

Пробел с последующим знаком подчеркивания (_) ставится в случае, когда издательские ограничения не позволяют записать оператор кода в строке полностью и оператор продолжается на следующей строке.

Префиксы ¦ идентификаторы типов данных и типов объектов

В примерах кода в этой книге используются префиксы из двух или трех букв, которые указывают тип данных переменных либо символических констант фундаментальных типов данных Visual Basic или других диалектов Object Basic, а также объектных переменных. Префиксы, используемые в этой книге, основаны на системе Leszynski Naming Conventions for Microsoft Visual Basic (LNC). Система базируется на предложенном стандарте по наименованиям объектов и переменных в языке Access Basic, созданном Стэном Лешински (Stan Leszynski) и Грегом Реддиком (Greg Reddick). Впервые стандарт был опубликован в информационном бюллетене компании Pinnacle Publishing, Inc.

Во всех примерах этой книги и на прилагаемом компакт-диске используется директива Option Explicit, указывающая, что переменные должны быть объявлены при помощи оператора Public, Private, Const или Dim перед присвоением переменной значения в процедурах. В книге используется явное указание типов; переменные типа Variant объявляются As Variant, хотя такое объявление и избыточно: в Visual Basic переменной по умолчанию присваивается тип Variant. Здесь не применяются символы типов данных, такие как %, @, и !, за исключением редких случаев, когда символ $ добавляется к имени функции, которая явным образом возвращает значение типа String. Символ восклицательного знака (!) зарезервирован как разделитель в операторах, указывающих объект внутри объекта-контейнера. Префиксы-идентификаторы, связанные с венгерской нотацией обозначений в языке C, позволяют поддерживать согласованность обычных и объектных переменных.

Примерами имен переменных фундаментальных типов данных с префиксами служат имена вида strStringVar, intIntegerVar, lngLongVar, datDateTimeVar, curCurrencyVar и varVariantVar. Тип данных Variant по договоренности относят к фундаментальным типам данных. В этой книге, как и в терминологии Microsoft, термин фундаментальный тип данных (fundamental data type) используется, чтобы отличать обычные переменные, включая переменные типа Variant, имена которых являются зарезервированными словами VBA, от переменных объектных типов данных, имена которых являются либо зарезервированными, либо ключевыми словами.

Префиксы-идентификаторы используются также для определения типа объекта при объявлении переменной различных объектных типов данных, поддерживаемых в Visual Basic. Наиболее часто в этой книге применяются имена вида envDataEnvironment, cnnConnection, cmmCommand, rstRecordset, frmForm и qdfQueryDef. Для переменных типа Object используется префикс obj.

КНИГИ ПО VISUAL BASIC И БАЗАМ ДАННЫХ


Как упоминалось ранее, эта книга предназначена для читателей, знакомых с написанием программ на VBA и имеющих опыт разработки простых форм в Visual Basic. Если ваша первая разработка на Visual Basic — это полноценный интерфейс базы данных, то, возможно, вам понадобится несколько руководств и справочников вводного и среднего уровней по Visual Basic. Тем, кто работает с Access, пригодятся руководства для разработчиков Visual Basic. Может быть полезным и описание стандарта ANSI SQL 1992 года языка SQL-92.

Основы Visual Basic


  • Teach Yourself Visual Basic 6 in 21 Days Грега Перри (Greg Perry) (Sams Publishing, ISBN 0-672-31310-3)
  • Visual Basic 6 Unleashed Роба Тейера (Sams Publishing, ISBN 0-672-31309-X)

Основное руководство по языку SQL-92

Если вам необходимо полное описание истории и реализации стандарта X3.135.1-1992 SQL-92 Американского национального института стандартов (American National Standards Institute), найдите книгу Джима Мелтона (Jim Melton) и Алана Р. Симпсона (Alan R. Simpson) Understanding the New SQL: A Complete Guide, ISBN 1-55860-245-3 (San Mateo, Morgan Kaufmann Publishers, 1993).

Стандарты баз данных

Синтаксис языка SQL представляет собой предмет стандарта, опубликованного Американским национальным институтом стандартов. Во время написания этой книги текущим стандартом был стандарт под номером X3.135.1-1992 (или просто SQL-92). Описание стандарта можно получить, обратившись по адресу

American National Standards Institute
11 West 42nd Street
New York, NY 10036
(212)642-4900 (Sales Department)

В группу SQL Access Group (SAG) включаются пользователи и поставщики систем управления базами данных SQL. Группой SAG публикуются стандарты, которые дополняют стандарт ANSI X3.135.1-1989, например стандарт Call-Level Interface (CLI), используемый интерфейсом Microsoft ODBC API. Документацию SAG можно получить по адресу

SQL Access Group
1010 E1 Camino Real, Suite 380
Menlo Park, CA 94025
(415) 323-7992 x221

ПОСЛЕДНИЕ СВЕДЕНИЯ О VISUAL BASIC


Для разработчиков Visual Basic имеется множество источников актуальной информации в печатном и электронном виде. И в печатных периодических изданиях, и в электронных источниках рассматриваются проблемы управления и разработки, которые возникают при разработке баз данных в целом. Несколько форумов информационной службы CompuServe предлагают услуги по поддержке продукта для Access и Windows. Далее следуют разделы, в которых описываются некоторые источники, помогающие расширить познания в Visual Basic.

Периодические издания

Перечисленные ниже журналы и публикации новостей касаются только Access (по крайней мере, в них регулярно появляются статьи по Microsoft Access).


  • Журнал Visual Basic Programmer’s Journal (VBPJ), издаваемый ежемесячно Fawcette Technical Publications, посвящен Visual Basic и VBA. В нем имеется ежемесячная колонка, в которой рассматриваются темы по базам данных, и, по крайней мере, в одном из журналов публикуются материалы, связанные с программированием современных баз данных или архитектурой системы. Издательство Fawcette Technical Publications проводит также конференции Visual Basic Insider’s Technical Summit (VBITS).
  • Web Builder издательства Fawcette Technical Publications посвящен темам, связанным с Internet. Теперь, когда в Visual Basic 6.0 предоставляются возможности полноценного продукта Active Server Pages (ASP) и среда разработки DHTML, можно ожидать, что существенная часть журнального пространства будет отведена классам WebClass Visual Basic 6.0 и приложениям DHTML.
  • Журнал Access-Office-VB Advisor, издаваемый корпорацией Advisor Communications International, представляет собой цветной, выходящий два раза в месяц журнал, который изначально предназначался для пользователей и разработчиков Access. Поскольку процессы разработки базы данных Visual Basic и Access схожи, в журнале уделено внимание обоим продуктам. Можно заказать дополнительную дискету, в которую включаются примеры баз данных, утилит и других программных инструментов для Access Visual Basic.
  • Журнал DBMS, выходящий в издательстве M&T компании Miller-Freeman, посвящен технологии баз данных в целом, но концентрируется на развивающемся направлении реляционных баз данных клиент/сервер. В нем рассматриваются такие вопросы, как разработка SQL и реляционных баз данных, которые представляют интерес для всех разработчиков, а не только для тех, кто использует Visual Basic.
  • Ежемесячно издаются Visual Basic Developer и Smart Access компании Pinnnacle Publishing, Inc., которая издает и другие связанные с реляционными базами данных публикации и монографии. Издание Smart Access предназначено, прежде всего, для разработчиков и пользователей Access. В обоих изданиях рассматриваются такие серьезные темы, как создание библиотек и использование интерфейса API Windows в Access и Visual Basic. К каждому изданию прилагается дискета.

Большинство из этих журналов можно приобрести в киосках печати или книжных магазинах.

Visual Basic в Internet


Internet является главным источником оперативной информации и сетевой поддержки для разработчиков баз данных на Visual Basic. В следующих разделах описаны некоторые наиболее важные источники текущей информации по Visual Basic 6.0.

Microsoft Developer Network

Сервер Microsoft Developer Network (MSDN) является основным источником информации по Visual Basic 6.0 и другим составляющим Visual Studio 6.0. На странице http://msdn. microsoft.com/vbasic/ вы найдете ссылки на новости о Visual Basic 6.0, примеры разработок и официальные издания. Если вы зарегистрировались на MSDN Online, чтобы воспользоваться услугами узла MSDN, зарегистрируйте свою копию Visual Basic 6.0 или Visual Studio 6.0, прежде чем получить возможность загружать большинство из доступных примеров.

Macmillan Computer Reference

Macmillan Computer Reference (http://www.mcp.com) — Web-узел, который предоставляет полный электронный каталог всех книг издательства Macmillan Computer Publishing, связанных с компьютерами. Вы можете загрузить множество различных исходных кодов из книг издательства, условно бесплатных продуктов и демонстрационных примеров. Страница Visual Basic Resources (http://www.mcp.com/resources/prog/ms_developer/visual_basic/) содержит некоторые главы из книг по Visual Basic 6.0, выпущенных издательством Macmillan Computer Reference.

Узел VBPJ Development Exchange

Узел Development Exchange (http://www.devx.com) компании Fawcette Technical Publication включает в себя несколько разделов, посвященных программированию, например, на Java, C++ и Visual Basic. Вы сможете также найти Web-страницы, посвященные журналам VBPJ, Java Pro и Web Builder, с отдельными статьями из свежих номеров, а также руководство по продуктам, путеводитель по книгам, раздел VBA Objects и календарь событий. Чтобы воспользоваться многими услугами, требуется бесплатная регистрация; за определенную плату можно получить доступ к архивам предыдущих изданий, включая полный исходный код к статьям каждого из трех журналов. DevX — наиболее популярный Web-узел для программистов, работающих с Visual Basic.

Группы новостей в Internet

Основная ветвь групп новостей для обсуждения программирования на Visual Basic 6.0 — microsoft.public.vstudio.vb и ее подгруппы. Из независимых групп, посвященных программированию на Microsoft Visual Basic и Access, наиболее популярными являются comp.lang.basic.visual.databases и comp.databases.ms-access.


Copyright © 1992-2019 Издательская группа "Диалектика-Вильямс"

Rambler  Top100