«С++ Builder 5 Руководство разработчика», Джарод Холингвэрт, Ден Баттерфилд и др. Издательство: «Вильямс» стр. 820
«Среди программистов, работающих в средах Delphi и C++ Builder, всегда были популярными VCL-компоненты, которые не требуют обращения к BDE. (BDE, по мнению многих разработчиков, замедляют работу приложения и требуют слишком больших ресурсов памяти – оперативной и дисковой).
До появления ADO большинство таких «независимых от BDE» компонентов были специализированными и могли работать с определенным типом СУБД, например dBase или InterBase, либо со средствами поддержки определенной технологии, например ODBC. Существовали такие компоненты, которые обладали собственными средствами выполнения функций BDE. Однако при работе с этими компонентами возникали проблемы уникальности интерфейса, который разительно отличался от привычного интерфейса компонентов, ориентированных на BDE. Поэтому такие приложения было сложно модифицировать, особенно если возникала потребность включить в них BDE. К сожалению, тот же недостаток присущ и ADO-компонентам.
У ADO, в равнении с BDE, есть и другие недостатки. Во-первых, при использовании ADO нужно явно указывать в строке подключения имя провайдера сервера и базы данных, а это затрудняет переориентирование ADO-компонента на работу с другой базой данных или другим типом СУБД.»
(Лично я не согласен: свойство есть ConnectionString = “…” – меняй его, как хочешь и потом делай ADOConnection1-Open() – нет проблем!)
«Во-вторых, в отличии от BDE, для однородного объеденения таблиц из разных баз данных нельзя использовать SQL в сочетании с ADO-компонентами (причем это не зависит от того, созданы ли эти базы данных с помощью одной и той же СУБД или разных СУБД).
Есть и еще одно предостережение, которое касается сопровождения приложений, использующих ADO-компоненты. Нужно постоянно отслеживать изменения, которые вносятся разработчиками в элементы операционной среды, связанные с работой ADO-компонентов и СУБД (например, ядро Jet, с которыми работают базы данных Access).
Учитывая все сказанное, каковы же преимущества технологии ADO?
1. Большая часть программных средств поддержки этой технологии поставляется в составе ОС, а потому разработчик БД-приложения избавлен от необходимости их внедрения.
2. Использование ADO позволяет получить доступ к данным, созданным с помощь нетрадиционных технологий, таких как XML.
3. Компоненты ADO допускают асинхронное выполнение операторов SQL и позволяют отслеживать процесс выполнения команд с помощью обработчиков событий. Это дает пользователю наглядную информацию о том, насколько далеко продвинулось выполнение запроса.
4. В отличие от BDE-компонентов, механизм ADO позволяет остановить работу программ базы данных без потери информации с помощью Program Reset.”
Выдержка из книги «Программирование в C++ Builder 5» А. Я. Архангельский
Издательство: «Бином», стр. 611
«В качестве общей характеристики можно сказать, что в некоторых отношениях компоненты ADO мощнее компонентов BDE, но в то же время ряд возможностей компонентов BDE в них не реализован. Например, они не могут использовать словари свойств, что приводит к лишней работе при создании приложений. Не все источники данных ADO могут работать со всеми типами полей. Например, источник данных Paradox ADO не работает с графикой. Так что надо серьезно рассматривать все за и против, прежде чем переходить от BDE к ADO».