2016-05-26 4 views
1

Я планирую отойти от BDE и dBase, поэтому, выполняя какое-то приложение, мне нужно держаться подальше от всего, что может затруднить переход. Интересно, например, если компоненты, относящиеся к данным, такие как TDBCtrlGrid, связаны с каким-то образом BDE или нет.Является ли TDBCtrlGrid общедоступным компонентом, поддерживающим данные?

+1

Он не привязан к БДЭ, но это ужасно глючный элемент управления, и вам следует избегать его использования. Вам нужно отойти в сторону BDE? Нет. Но в будущем планируем заменить его чем-то другим. –

ответ

5

Db осведомленные компоненты, такие как TDBCtrlGrid, TDBGrid, TDBEdit и т.д., все должно работать нормально с более современными TDataSet-потомков, чем TQuery, TTable и т.д. Таким образом, ответ на ваш д является то, что они все родовые.

Вся суть разработки компонентов, поддерживающих db Delphi, заключается в том, что используемая ими модель доступа абстрагируется от любой конкретной реализации набора данных и поэтому будет работать с любым потомком TDataSet, поскольку сам TDataSet реализует абстрактную модель доступа к данным.

Компоненты, поддерживающие db Delphi, работают на двух шагах, удаленных из TDataSet, и взаимодействуют с ним (или любым его потомком) через TDataSource и TDataLink и его потомки. Все взаимодействия данных происходят через TDataLinks - см. Источник в DB.Pas.

+0

Я думаю, что это именно тот ответ, который мне нужен. Другое дело, насколько плохо или пища является компонентом, специфичным для данных. Спасибо – Stark

0

Короткий ответ: TDBCtrlGrid не привязан к БДЭ.

TDBCtrlGrid заполнен «набором данных» или, если хотите, TDataSet, который представляет собой абстрактный класс, содержащий основные свойства, события и методы работы с данными.

Существует множество реализаций TDataSet, которые позволят вам использовать любой движок базы данных, который вы хотите.

Из док здесь некоторые популярные TDataSet реализации:

  • TCustomADODataSet является базовым классом для наборов данных, которые имеют доступ к данным с помощью объектов данных ActiveX (ADO). Потомки TCustomADODataSet включают в себя TADODataSet, TADOTable, TADOQuery и TADOStoredProc. Разработчики, которые создают пользовательские компоненты набора данных, использующие ADO, получают их из CustomADODataSet.

  • TIBCustomDataSet - это базовый класс для наборов данных, которые напрямую обрабатывают данные в таблицах InterBase. В число потомков TIBCustomDataSet входят TIBDataSet, TIBTable, TIBQuery и TIBStoredProc. Разработчики, которые создают пользовательские компоненты набора данных, которые напрямую обращаются к данным в базе данных базы данных , получают базу данных TIBCustomDataSet.

  • TCustomSQLDataSet является базовым классом для однонаправленных наборов данных. Однонаправленные наборы данных - это только наборы данных, предназначенные только для чтения, которые допускают только навигацию вперед . Потомки TCustomSQLDataSet включают в себя набор данных dbExpress TSQLDataSet, TSQLQuery, TSQLTable и

  • TSQLStoredProc. Разработчики, которые создают пользовательские компоненты набора данных, которые используют dbExpress для доступа к своим данным, получают от TCustomSQLDataSet.

  • TCustomClientDataSet является базовым классом для наборов данных в памяти. Клиентские базы данных могут работать с данными из файлов на диске или с предоставленными данными другим компонентом через поставщика. Они кэшируют эти данные в памяти, ведут запись о любых изменениях в журнале изменений и применяют кешированные обновления в более позднем месте обратно к источнику данных. Разработчики , которые создают собственные наборы данных, которые хранят свои данные в кеше в памяти , получают из TCustomClientDataSet.

-2

Я бы исследовал несколько баз данных, включая некоторые из последних версий Delphi, которые вы используете в настоящее время. Это включает в себя Mongo, если у вас есть последние.

Для производительности Firedac неплохо. Он кодируется как ADO и выполняет почти так же, как GO.

В целом я предлагаю получить книгу Ник Ходжеса и начать использовать Spring4D.

Если это слишком глубоко для вас, то Firedac - хорошая отправная точка.

+3

Это не имеет никакого отношения к вопросу, который он задал, касающемуся уровня управления данными уровня пользовательского интерфейса, а не уровня доступа к данным. –

Смежные вопросы