Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Компоненты приложений, работающих с базами данных

Методика разработки приложения для работы с БД ничем не отличается от методики создания обычной программы: к форме добавляются необходимые компоненты, устанавливаются значения свойств компонентов, разрабатываются необходимые процедуры обработки событий.

Приложение работы с БД должно содержать

· компоненты, обеспечивающие доступ к данным;

· компоненты, обеспечивающие отображение и редактирование данных.


 
 

Доступ к БД обеспечивают компоненты, значки которых находятся на вкладках BDE и Data Access палитры компонентов (рис. 2).

Table Query Database DataSource

Рис. 2. Компоненты панелей BDE и Data Access

 

Компонент Database представляет БД как единое целое, т. е. совокупность таблиц, а компонент Table – одну из таблиц БД. Компонент DataSource (источник данных) обеспечивает связь компонента отображения-редактирования данных (например, компонента DBGrid) и источника данных, в качестве которого может выступать таблица (компонент Table) или результат выполнения SQL-запроса к таблице (компонент Query).

Компонент DataSource служит посредником между таблицами СУБД и экранными элементами управления. Этот компонент позволяет, во-первых, абстрагироваться от конкретной СУБД. Например, если потребуется сделать многопользовательское приложение, достаточно настроить таблицы на другую, более мощную СУБД с аналогичной схемой базы данных, способную работать в сети. Элементы управления этого не заметят, поскольку будут обращаться к источнику данных, а не к конкретным таблицам. Во-вторых, в системе Delphi 7 понятие источника данных значительно шире, чем таблица. Таким источником может служить любое виртуальное устройство, способное представлять данные в виде наборов записей. Например, записи могут генерироваться программными компонентами, исполняющимися где-то в Интернете. Компонент DataSource позволяет оперативно выбирать источник данных, использовать один и тот же компонент, например, DBGrid для отображения данных из таблицы или результата выполнения SQL-запроса к этой таблице.

Механизм взаимодействия компонентов отображения-редактирования данных с данными через компонент DataSource иллюстрирует рис. 3.

 
 

 

 


Рис. 3. Взаимодействие компонентов отображения и доступа к данным

 

Каждая БД должна быть явно описана в программе с помощью компонента Database. Этот компонент полезен не только для сложных приложений – его можно использовать для повышения надежности некоторых операций.

В простейшем случае, когда БД представляет собой одну таблицу, приложение для работы с БД должно содержать один компонент Table и один компонент DataSource. Некоторые свойства компонента Table перечислены в табл. 3. Свойства перечислены в том порядке, в котором следует устанавливать их значения после добавления компонента в форму приложения.

Таблица 3

Свойство Описание
Name DatabaseName     TableName   TableType     Active Имя компонента. Используется для доступа к свойствам Имя БД, частью которой является таблица (файл данных), для доступа к которой используется компонент. В качестве значения свойства следует использовать псевдоним БД Имя файла данных (таблицы), для доступа к которому используется компонент Тип таблицы: ttDefault – тип определяется расширением файла, ttParadox – таблица Paradox, ttDBase – таблица dBase, ttFoxPro – таблица FoxPro, ttASCII – форматированный текстовый файл Признак активизации файла данных (таблицы). Присваивание свойству значения True открывает файл таблицы

 

При разработке формы приложения значения свойств DatabaseName и TableName задаются путем выбора из списков. В списке DatabaseName перечислены все зарегистрированные псевдонимы, а в списке TableName – имена файлов таблиц, которые находятся в соответствующем псевдониму каталоге.

Некоторые свойства компонента DataSource перечислены в табл. 4.

Таблица 4

Свойство Описание
Name DataSet Имя компонента. Используется для доступа к свойствам Имя компонента, представляющего собой входные данные

 

Свойство DataSet обеспечивает связь между компонентом, представляющим собой таблицу или запрос, и компонентами, предназначенными для доступа к записям. Наличие этого свойства позволяет выбирать источник данных. Например, БД может быть организована таким образом, что таблица, состоящая из большого числа записей, разделена на несколько подтаблиц, имеющих одинаковую структуру. В этом случае в приложении каждой подтаблице будет соответствовать свой компонент Table, а выбор конкретной подтаблицы можно осуществить установкой значения свойства DataSet.

Компоненты, обеспечивающие просмотр и редактирование содержимого полей БД, находятся на вкладкеData Controls (рис. 4).

 

DBNavigator DBEdit DBImage DBCheckBox DBRichEdit

                       
           
 
 

                   
         


DBGrid DBText DBMemo DBComboBox DBRadioGroup DBChart

Рис. 4. Компоненты просмотра и редактирования полей БД

 
 

Компонент DBNavigator (рис. 5) представляет собой набор кнопок, при щелчках на которых во время работы программы происходит перемещение указателя текущей записи к следующей, предыдущей, первой или последней записи БД, а также добавление к файлу данных новой записи, удаление текущей записи.

Рис. 5. Компонент DBNavigator

 

Назначение кнопок компонента DBNavigator (слева направо):

1) nbFirst – устанавливает курсор на первую запись файла данных;

2) nbPrior – устанавливает курсор на предыдущую запись файла данных;

3) nbNext – устанавливает курсор на следующую запись файла данных;

4) nbLast – устанавливает курсор на последнюю запись файла данных;

5) nbInsert – устанавливает режим вставки новой записи;

6) nbDelete – удаляет текущую запись файла данных;

7) nbEdit – устанавливает режим редактирования текущей записи;

8) nbPost – запоминает изменения, сделанные в текущей записи;

9) nbCancel – отменяет изменения, сделанные в текущей записи;

10) nbRefresh – записывает внесенные изменения в файл.

Некоторые свойства компонента DBNavigator перечислены в табл. 5.

 

Таблица 5

Свойство Описание
Name DataSource   VisibleButtons Имя компонента. Используется для доступа к свойствам Имя компонента, являющегося источником данных. В качестве источника данных может выступать БД(компонент Database), таблица (компонент Table) или результат выполнения запроса (компонент Query) Видимые командные кнопки. Позволяет скрыть некоторые кнопки компонента и тем самым запретить выполнение соответствующих операций над файлом данных

 

Пользователь может просматривать БД в режиме формы или в режиме таблицы. В режиме формы можно видеть только одну запись, а в режиме таблицы – несколько записей одновременно. Часто эти два режима комбинируют. Краткая информация (содержимое некоторых ключевых полей) выводится в табличной форме, а при необходимости видеть содержимое всех полей записи выполняется переключение в режим формы.

Для того чтобы обеспечить просмотр БД в режиме формы, в форму приложения нужно добавить компоненты, обеспечивающие просмотр и редактирование содержимого полей записи, причем по одному компоненту для каждого поля.

Компонент DBText позволяет только просматривать содержимое поля, а компоненты DBEdit и DBMemo – просматривать и редактировать. В табл. 6 перечислены некоторые свойства этих компонентов.

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

Таблица 6

Свойство Описание
Name DataSource DataField Имя компонента. Используется для доступа к свойствам Компонент-источник данных Поле БД, для отображения или редактирования которого используется компонент

 

Для обеспечения просмотра и редактирования данных в режиме таблицы в форму приложения надо добавить компонент DBGrid. Некоторые свойства компонента перечислены в табл. 7.

Таблица 7

Свойство Описание
Name DataSource Columns Options.dgTitles Options.dgIndicator Options.dgColumnResize Options.dgColLines Options.dgRowLines Имя компонента Источник отображаемых в таблице данных Информация, отображаемая в таблице Разрешен вывод строки заголовка столбцов Разрешен вывод колонки индикатора. Текущая запись помечается в колонке треугольником, новая запись – звездочкой, редактируемая – специальным значком Разрешается менять во время работы программы ширину колонок таблицы Разрешается выводить линии, разделяющие колонки Разрешается выводить линии, разделяющие строки

 

Для того чтобы задать, какая информация будет отображена в таблице во время работы программы, необходимо сначала определить источник данных для таблицы (установить значения свойства DataSource), затем – установить значения уточняющих параметров свойства Columns. Значение свойства DataSource задается в окнеинспектора объектов. Чтобы установить значение свойства Columns, надо выбрать это свойство и щелкнуть на кнопке с тремя точками. В результате открывается окно редактора колонок.

Для того чтобы в компонент DBGrid добавить колонку, обеспечивающую просмотр содержимого поля записи файла данных, необходимо нажать кнопкуAdd New, находящуюся на панели инструментов окна (это единственная доступная после запуска редактора кнопка), выделить добавленный элемент и, используя инспектор объектов, установить значения свойств этой колонки (табл. 8).

Свойство Columns компонента DBGrid представляет собой массив компонентов типа TColumn. Каждой колонке соответствует элемент массива (например, DBGrid1.Columns[0], DBGrid1.Columns[1] и т. д.). Устанавливая значения свойств компонентов Column, программист задает вид колонок компонента DBGrid и тем самым определяет вид всей таблицы.

В простейшем случае для каждой колонки достаточно установить значение свойства FieldName, которое определяет имя поля записи, содержимое которого будет отображаться в колонке, а также значение свойства Title.Caption, определяющего заголовок колонки.

Таблица 8

Свойство Описание
FieldName Width Font Color Alignment     Title.Caption   Title.Alignment     Title.Color Title.Font Поле записи, содержимое которого выводится в колонке Ширина колонки в пикселах Шрифт, используемый для вывода текста в колонке Цвет фона колонки Способ выравнивания текста в ячейках колонки: по левому краю (taLeftJustify), по центру (taCenter) или по правому краю (taRightJustify) Заголовок колонки. Значением по умолчанию является имя поля записи Способ выравнивания заголовка колонки: по левому краю (taLeftJustify), по центру (taCenter) или по правому краю (taRightJustify) Цвет фона заголовка колонки Шрифт заголовка колонки

 

Существуют два способа работы с таблицами базы данных:

· программный, когда значения конкретным полям задаются с помощью элементов управления Windows;

· визуальный, основанный на использовании готового компонента DBGrid.

Оба эти подхода широко распространены, и программисту необходимо уметь пользоваться каждым.

В большинстве автономных приложений достаточно использовать второй подход, который значительно проще и не предъявляет повышенных требований к правильности ввода. Кроме того, дополнительные проверки вводимой информации можно настроить как с помощью свойств псевдополей таблицы (которые создаются с помощью редактора полей), так и с помощью свойств отдельных столбцов.

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

 

Демонстрационная БАЗА ДАННЫХ

 

Последнее изменение этой страницы: 2016-08-28

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...