|
Программирование >> Проектирование интерфейса пользователя
внимание изучению объектов ADO, отбросив в сторону все остальное. Я же вступил на профессиональную стезю еще в то время, когда не существовало даже динамических библиотек DLL, и мне пришлось продираться сквозь джунгли LIB, DLL, DDE, OLE, ODBC, RDO и DAO, чтобы добраться, наконец, до ADO. В связи с бурным развитием Internet компания Microsoft разрабатывает .NET-среду, которая включает Common Language Runtime (CLR) и другие технологии. В настоящее время Microsoft Office не поддерживает технологию На последующие версии Microsoft Office этот факт повлияет в том плане, что язык программирования Visual Basic.NET не поддерживает VBA, таким образом, беспокоиться об ADO+ вам не придется. В настоящее время языки программирования VBA для Microsoft Office и Visual Basic развиваются в разных направлениях. Доподлинно не известно, зачем нужно было разрабатывать такое количество приблизительно равноценных средств программирования (хотя это можно рассматривать как гримасы некоей диалектической природы творчества), но один факт не вызывает сомнений - решение повторяющихся задач и процедуры управления базами данных значительно упростились. Обращаясь к файлам оперативной справки Access и образцам кода, написанного сторонними разработчиками, будьте готовы к встрече с примерами использования всех названных выше протоколов. Но мы с вами, избрав один путь - новейший и са-мьш мощньш стандарт ADO, - будем неукоснительно его придерживаться. За исключением короткого примера сравнения DAO с ADO, во всех листингах это1г и следующих глав мы будем ссылаться только на средства ADO. В ходе прошлого занятия некоторые аспекты рассматриваемого кода вы принимали на веру , таким образом сосредоточив внимание на других темах. Но теперь мы внесем более подробные разъяснения по поводу конструкций с использованием свойств и методов ADO, ранее введенных в обращение. Основные темы занятия. Знакомство со средствами OLE Automation и сравнение архитектур тО и ADO. ADODB и ADOX - инструменты управления данными. Примеры кода на основе ActiveX Data Objects. Знакомство со средствами OLE Automation OLE Automation (или, в более современной и короткой трактовке, просто Automation) - это стандарт, который действует в рамках технологии Component Object Model (COM) и регламентирует способы совместного доступа к программным объектам, облеченным в форму откомпилированного кода. Программы, поддерживающие стандарт Automation и предоставляющие свои объекты в распоряжение других приложений, называют OLE-сврверами. Приложения, которые обращаются к ресурсам ОЕЕ-серверов, носят название клиентов. Клиент обладает возможностями активизации сервера и использования предоставляемых сервером услуг по своему усмотрению. Вспомните команду Dir, исполняемую в сеансе MS DOS. Вы указываете для Dir соответствующие параметры, и она выполняет свою задачу - выводит на экран список файлов. OLE-сервер способен предоставлять самые разнообразные возможности, а клиент может использовать все или только некоторые из них в различных сочетаниях. Access - это пример приложения-сервера. В других программах (клиентах) можно пользоваться инструментами Access для решения определенных задач. Access предоставляет в распоряжение других программ - таких как Microsoft Excel, среды программирования Borland Delphi, Microsoft Visual Basic и т.п. - некоторые средства интерфейса. Новый термин Интерфейс - это обобщенный термин, употребляемый в программировании для обозначения кода и данных приложения, которые применяются другими приложениями или пользователем. Программный интерфейс Access весьма обширный и многообразный. Со временем вы ознакомитесь с интерфейсными объектами .Application, DoCmd и CurrentDB. Каждая из названных составных частей интерфейса Access обладает собственным интерфейсом подчиненного уровня. Хорошая новость - вам изначально не обязательно вникать во все подробности. Но есть и плохая - вся эта система объективно существует, и вам либо придется изучать ее, чтобы выяснить, удастся ли воспользоваться чем-то готовым для решения собственной частной задачи, либо делать все с нуля и самостоятельно. Добро пожаловать в мир объектов! Термин интерфейс в своей современной интерпретации предполагает использование объектов. Объект - это экземпляр специального (составного) типа данных. До сих пор мы применяли преимущественно переменные простых типов, предназначенные для хранения одной порции данных. Впрочем, в листингах, рассмотренных на прошлом занятии, нам пришлось употребить, например, запись вида ADODB. Так вот, ADODB - это наименование специального типа данных, класса. Мы назвали объект экземпляром составного типа данных, так как он содержит, как правило, более одной порции информации. В составе объекта могут находиться как собственно данные, так и методы их обработки. Метод - это термин для обозначения функции или процедуры, принадлежащей объекту (подробнее см. главу 8-й час. Декомпозиция задач ). Новый термин Объект - это экземпляр составного типа данных, содержащий собственно данные и методы их обработки. Давайте теперь немного порассуждаем. Переменные - это понятно. Мне столько-то лет, и подобную информацию я могу воплотить в некую переменную. То, что я умею делать, - это мои способности, мои возможности, мои методы. Далее объединим всю информацию воедино - как количественные сведения, которые меня характеризуют (возраст, рост, вес, семейное положение, номер телефона и т.п.), так и формулировки моих способностей. Получится некий объект , описывающий меня как физическую и социальную сущность с той или иной степенью достоверности и полноты. Более подробные сведения об объектах приведены в следующей главе. Некоторые полезные объекты Используя объекты готовых мощных классов, вы значительно облегчите свою участь. В составе Access можно назвать три таких класса - Application, DoCmd и CurrentDB. Каждый из них содержит длинный перечень возможностей, и все они могут быть использованы вами при решении прикладных задач. Объект класса Application позволяет ссылаться на приложение Access как таковое и содержит множество средств управления Access. Класс DoCmd предоставляет возможности выбора и управления таблицами, запросами и курсорами, а также загрузки электронных таблиц, копирования баз данных и импорта текста. Access - это набор инструментальных средств разработки баз данных. Класс Cur-rentDB дает возможность ссылаться на объект базы данных в файле базы, открытом в текущей сессии Access. Все названные классы настолько сложны и обширны, что их описание, возможно, заслуживает отдельной книги. В ходе дальнейшего повествования мы будем рассматривать различные свойства и методы объектов Application, DoCmd и CurrentDB. За дополнительной информацией и примерами их использования обращайтесь к оперативной справочной системе Access. Сравнение ADO и DAO Среди всего множества архитектур и технологий стандарты ADO и заслужи- вают особого внимания. Оба они обеспечивают программиста схожим набором инструментов управления буквально всеми аспектами поведения баз данных. На этом занятии мы рассмотрим некоторые особенно полезные средства ADO, а глава 15-й час. ADODB - ваш верный помощник предоставит вам счастливую возможность отточить свое мастерство на практике. DAO - это предыдущий, сейчас уже несколько устаревший, стандарт средств управления базами данных. Хотя он до сих пор еще находит достаточно широкое применение, Microsoft предлагает использовать новейшие технологии ADO. Стандарт ADO предоставляет более мощные инструменты, а его применение приводит к существенному сокращению и упрощению кода. Листинги 7.1 и 7.2 демонстрируют два примера кода для решения одной и той же задачи; первый построен на основе объектов а во втором применены средства ADO. Объемы кода, как вы видите, заметно различаются - в пользу ADO. Для работы подпрограммы листинга 7.1 необходимо подключить Microsoft ОАО 3.6 Object Library, а для работы процедуры листинга 7.2 - Microsoft ActiveX Data Objects 2.6 Library (ADO). Чтобы добавить ссьшки на эти библиотеки, откройте редактор Visual Basic, выполните команду Tools=>References и в появившемся диалоговом окне установите флажки возле данных библиотек. Листинг 1. Пример использования объектов DAO Su MdRow( ) Const TITLE = Sams Teach Yourself Access Programming in 24 Hours Dim DB As Database 2002 Dim RS Set DB RS.AddNew = CurrentDb( ) ecordset( LIBRARY TITLE = TITLE RS ( AUTHOR ) .Value = Paul Kimnipl RS( ISBN ) .Value = 0-672-32098-3 RS( PAGECOUNT ).Value = 400 RS( PUBLISHER ).Value = Sams RS( PUBLICATIONDATE ).Value = Date &
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |