Я планирую отойти от BDE и dBase, поэтому, выполняя какое-то приложение, мне нужно держаться подальше от всего, что может затруднить переход. Интересно, например, если компоненты, относящиеся к данным, такие как TDBCtrlGrid, связаны с каким-то образом BDE или нет.Является ли TDBCtrlGrid общедоступным компонентом, поддерживающим данные?
ответ
Db осведомленные компоненты, такие как TDBCtrlGrid, TDBGrid, TDBEdit и т.д., все должно работать нормально с более современными TDataSet-потомков, чем TQuery, TTable и т.д. Таким образом, ответ на ваш д является то, что они все родовые.
Вся суть разработки компонентов, поддерживающих db Delphi, заключается в том, что используемая ими модель доступа абстрагируется от любой конкретной реализации набора данных и поэтому будет работать с любым потомком TDataSet, поскольку сам TDataSet реализует абстрактную модель доступа к данным.
Компоненты, поддерживающие db Delphi, работают на двух шагах, удаленных из TDataSet, и взаимодействуют с ним (или любым его потомком) через TDataSource и TDataLink и его потомки. Все взаимодействия данных происходят через TDataLinks - см. Источник в DB.Pas.
Я думаю, что это именно тот ответ, который мне нужен. Другое дело, насколько плохо или пища является компонентом, специфичным для данных. Спасибо – Stark
Короткий ответ: 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.
Я бы исследовал несколько баз данных, включая некоторые из последних версий Delphi, которые вы используете в настоящее время. Это включает в себя Mongo, если у вас есть последние.
Для производительности Firedac неплохо. Он кодируется как ADO и выполняет почти так же, как GO.
В целом я предлагаю получить книгу Ник Ходжеса и начать использовать Spring4D.
Если это слишком глубоко для вас, то Firedac - хорошая отправная точка.
Это не имеет никакого отношения к вопросу, который он задал, касающемуся уровня управления данными уровня пользовательского интерфейса, а не уровня доступа к данным. –
- 1. Является ли вызов ajax не поддерживающим php?
- 2. Почему InitializeComponent является общедоступным
- 3. Определите, является ли адрес электронной почты «общедоступным»
- 4. Как проверить, является ли IP общедоступным прокси
- 5. Проверьте, является ли класс общедоступным или приватным
- 6. Как проверить, является ли свойство setter общедоступным
- 7. Является ли VisualSVN Server общедоступным сервером SVN?
- 8. Является ли Heroku Git Repo общедоступным?
- 9. MainActivity не является общедоступным
- 10. Bitmap() не является общедоступным
- 11. Является ли DataSet поддерживающим сложный тип при методе GetXml?
- 12. Является ли это стандартным компонентом Android?
- 13. Проверьте, является ли переменная компонентом или Boolean
- 14. Переписываются ли эти данные другим компонентом?
- 15. Почему HashAlgorithm.Dispose не является общедоступным?
- 16. Возможно ли использовать API Aribnb, который не является общедоступным?
- 17. Является ли доверенное публичное репо Ubuntu общедоступным уязвимой версией openssl?
- 18. Как вы определяете, является ли домен в Freebase общедоступным?
- 19. Определите, является ли сообщение Facebook общедоступным или закрытым с идентификатора?
- 20. Является ли API-интерфейс Microsoft Graph for Excel общедоступным?
- 21. Является ли System.out.println() общедоступным методом или методом экземпляра?
- 22. Является ли Classmember типа int общедоступным и окончательным?
- 23. Является ли общедоступным Boolean isBikeTyreFlat() действительной сигнатурой метода JavaBeans?
- 24. Как проверить, является ли сообщение общедоступным на facebook
- 25. Как определить, является ли общедоступным IP-адрес устройства Android.
- 26. Является ли общедоступным статическим окончательным int thread безопасным?
- 27. Как найти, является ли сертификат приватным сертификатом или общедоступным сертификатом
- 28. Является ли проект Комитета стандартного C++ 14 общедоступным?
- 29. Является ли общедоступным API-интерфейсом getifaddrs для IOS?
- 30. Тест, если данный ip является общедоступным?
Он не привязан к БДЭ, но это ужасно глючный элемент управления, и вам следует избегать его использования. Вам нужно отойти в сторону BDE? Нет. Но в будущем планируем заменить его чем-то другим. –