«Калькулятор на андройд» по специальности 1304000 «Вычислительная техника и программное обеспечение» мамандығы бойынша



бет7/27
Дата09.10.2022
өлшемі1,01 Mb.
#152305
1   2   3   4   5   6   7   8   9   10   ...   27
Байланысты:
Пояснительная записка

3.3. Базы данных в Delphi


Теория. В Delphi предусмотрена возможность разработки приложений баз данных (БД) для различных систем управления БД (СУБД).


В зависимости от выбора СУБД для доступа к данным в Delphi могут применяться различные компоненты с различных палитр (например, закладки BDE, ADO, InterBase и др.).
BDE (Borland Database Engine), машина баз данных фирмы Borland, представляет собой библиотеку функций специализированного программного интерфейса (API) и набор драйверов для работы с множеством «популярных» СУБД. Должна устанавливаться на каждом компьютере, который использует приложения для работы с БД, написанные на Delphi с использованием компонент, работающих с BDE. BDE может использоваться и независимо от Delphi (например, прямой вызов API функций из любых других программ).
Начиная с Delphi 5, включена специализированная библиотека для прямого доступа к СУБД InterBase (закладка InterBase). В этом случае можно не инсталлировать BDE на компьютере, где будет запускаться конечное приложение.
Также существует множество компонент для Delphi третьих производителей для доступа к другим «популярным» СУБД (Oracle, dBase, MS SQL и др.), которые осуществляют прямой доступ к «своей» СУБД и также не требуют инсталляции BDE.
В Delphi для доступа к базам данных из приложения, как известно, используется цепочка ―Приложение -> СУБД -> База данных‖. Это означает, что при любом обращении к БД из приложения реально адресуется СУБД. СУБД, используя собственные функции, связывается непосредственно с базой данных.
Для работы с конкретной базой данных при этом необходимо знать:

  • где БД физически расположена;

  • параметры этой БД;

  • общие параметры драйвера БД того типа, к которому принадлежит обрабатываемая БД;

  • общие системные установки.

Приложение состоит из не визуальных и визуальных компонентов работы с БД, компонентов для выдачи отчетов (которые представляют собой разновидность визуальных компонентов), а также модулей данных.
Невизуальные компоненты имеют прямой выход, например, на BDE, которая, в свою очередь, контактирует с БД.
К этим компонентам относятся, например, компоненты со страниц Data Access, InterBase, ADO, BDE, dbExpress (начиная с Delphi 6) и др.
Визуальные компоненты служат для представления данных из не визуальных компонентов, т.е. служат целям обеспечения интерфейса пользователя при работе с данными. К визуальным компонентам относятся, например, компоненты со страниц Data Controls, QReport и др.
Модули данных служат для централизованного хранения отдельных экземпляров не визуальных компонентов с целью придания тем или иным наборам данных единообразного поведения во всем приложении.
Приложение состоит из одной или нескольких форм. Каждая форма может:

  • хранить и использовать свои “собственные” не визуальные компоненты;

  • использовать не визуальные компоненты, хранящиеся в одном или нескольких модулях данных;

  • использовать не визуальные компоненты, хранящиеся и используемые в других формах.

Каждая форма может воспользоваться только “собственными” визуальными компонентами, поскольку визуальные компоненты выполняют интерфейсный функции и при деактивации формы теряют свою видимость на экране.
Связь компонентов для работы с БД. Визуальные и не визуальные компоненты связываются друг с другом при помощи свойств. Значения этих свойств обычно устанавливаются на этапе разработке приложения, но могут устанавливаться и во время выполнения приложения.
Примеры не визуальных и визуальных компонент для работы с БД приведены в таблице 1 и таблице 2 соответственно.
Для связи визуальных и не визуальных компонентов для работы с БД используется компонент “промежуточного уровня” TDataSource (источник данных), который находится на странице Data Access. Его свойство DataSet содержит имя соответствующего компонента типа “набор данных”.
Понятие набора данных несколько шире, чем понятие таблицы БД, так как набор данных может содержать:

  • подмножество записей или полей таблицы БД;

  • записи, сформированные из нескольких таблиц БД;

  • записи, значения которых формируются при помощи вычислений (вычисляемые).

  • визуальные компоненты разделяются на:

  • работающие с множеством записей БД, например TDBGrid, TDBNavigator и др.;

  • работающие с отдельным полем БД, например TDBEdit, TDBMemo, TDBText и др.

Например:
Для компонента TTable:

  • свойство DatabaseName – тип String; имя Алиаса BDE или строка, в которой указан путь к каталогу на диске, где находится БД;

  • свойство TableName - тип String; имя выбранной таблицы БД;

  • свойство Name – логическое имя компонента, по которому можно обратиться к конкретному компоненту TTable;

  • свойство Active – тип Boolean; указывает активен ли (открыт, готов для доступа к данным) соответствующий НД (значение True) или не активен (значение False).

Для компонента TQuery:

  • свойство DatabaseName – тип String; имя Алиаса BDE или строка, в которой указан путь к каталогу на диске, где находится БД;

  • свойство SQL - тип String; SQL оператор Select;

  • свойство Name – логическое имя компонента, по которому можно обратиться к конкретному компоненту TQuery;

  • свойство Active – тип Boolean; указывает активен ли (открыт, готов для доступа к данным) соответствующий НД (значение True) или не активен (значение False).

Для компонента TDataSource:

  • свойство DataSet – содержит имя соответствующего компонента типа “набор данных”;

  • свойство Name – логическое имя компонента, по которому можно обратиться к конкретному компоненту TDataSource.

  • Для компонента TDBGrid:

  • свойство DataSource – имя необходимого компонента ТDataSource;

  • свойство Name – логическое имя компонента, по которому можно обратиться к конкретному компоненту TDBGrid.

Для компонента TDBEdit:

  • свойство DataSource – имя необходимого компонента ТDataSource; - свойство DataField

  • тип String, имя необходимого поля соответствующего БД.

  • свойство Name – логическое имя компонента, по которому можно обратиться к конкретному компоненту TDBEdit.

Таблица невизуальных компонентов

Таблица 3.3.1. Таблица невизуальных компонентов





Компонент

Назначение

TTable

Реализует набор данных (НД), источником данных для которого является одна таблица БД. Содержит множество методов, свойств и событий, многие из которых расширяют множество методов, свойств и событий, определенных в предках TTable – TDataSet и TBDEDataSet.

TQuery

Реализует набор данных, источником данных для которого является одна или несколько таблиц БД. Структура записи НД, состав НД определяются SQL запросом (оператор Select). Кроме выдачи НД, используется для групповых операций обновления, добавления или удаления в таблицах БД, а также может выполнять другие действия, предусмотренные реализацией языка SQL для той СУБД, с которой работает TQuery.
Для типов данных персональных СУБД позволяет реализовывать “локальный” вариант SQL. При помощи TQuery можно реализовывать как статические, так и динамические (изменяющиеся в процессе выполнения приложения) SQL запросы. Содержит множество методов, свойств и событий, многие из которых расширяют множество методов, 6 свойств и событий, определенных в предках TQuery – TDataSet, TBDEDataSet и TDBDataSet.

TDataSet
TBDEDataSet
TDBDataSet

Являются предками активно используемых в приложении компонентов типа “набор данных” (например, ТTable TQuery). TDataSet определяет свойства, методы и события для работы с БД, независимые от машины БД. Многие из них являются абстрактными или виртуальными. TBDEDataSet, наоборот, определяет ряд свойств, методов и событий, зависящих от используемой машины БД.

TDataSource

Служит промежуточным звеном в цепочке ―набор данных – TDataSource – визуальные компоненты для работы с данными. Позволяет устанавливать некоторые параметры НД, устанавливать состояние НД.

TField

Реализует поле НД. Помимо полей, физически определенных в таблице БД и включенных в состав конкретного НД, компонент TField создается для каждого вычисляемого поля или поля, возвращающего значение из другого НД (Lookup или поля подстановочного типа), а также для результатов вычисления выражений и агрегатных функций в SQL запросах. Предоставляет набор методов, свойств и событий, посредством которых можно управлять поведением поля.
TField есть родительский класс для дочерних компонентов, реализующих поля конкретных типов (например, TstringField, TIntegerField и т.д.). TField определяет свойства, методы, события, которые по праву наследования доступны и во всех дочерних классах полей.

Таблица визуальных компонентов

Таблица 3.3.2. Таблица визуальных компонентов





Компонент

Назначение

TDBText

Показывает "только для чтения" значение поля текущей записи набора данных.

TDBEdit

Обеспечивает просмотр и изменение значения поля текущей записи набора данных. Поля - любого типа, кроме полей комментариев и BLOP.

TDBMemo

Позволяет просматривать и корректировать значения Memo-поля (поля комментария) в режиме текстового редактора.

TDBImage

Позволяет просматривать графические 7 поля, заносить в них содержимое.

TDBGrid

Показывает содержимое полей набора данных в "табличном виде", когда записям соответсвуют строки, а полям - столбцы.

TDBCtrlGrid

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

TDBNavigator

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

TDBCheckBox

Обеспечивает просмотр и изменение значения поля типа Boolean текущей записи набора данных.

TDBListBox

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

TDBComboBox

Применяется для тех же целей, что и TDBListBox, но список выпадающий.

TDBRadioGroup

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

TDBRichEdit

Имеет то же значение, что и TDBMemo, но позволяет работать с текстом формата RTF, включающим разные шрифты, графику и пр.

TQuickRep

Компонент TQuickRep и связанная с ним группа компонентов позволяет разрабатывать формы отчетов.

TDBChart

Используется для построения графиков.


  1. Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10   ...   27




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет