77983

Компоненты для создания приложений БД

Лекция

Информатика, кибернетика и программирование

Для использования компонента TDBText нужно: указать в свойстве property DtSource: TDtSource; имя соответствующего компонента TDtSource связанного с НД; указать в параметре property DtField: String; имя поля. Поэтому для TDBEdit необходимо указывать свойства property DtSource: TDtSource; имя компонента DtSource определяющего НД; property DtField: string; имя редактируемого поля; property RedOnly: Boolen; если содержит True значение поля доступно только для чтения если Flse значение поля можно изменять. Свойство property Text:...

Русский

2015-02-05

183 KB

3 чел.

Компоненты для создания приложений  БД

Каждое приложение, использующее базы данных, обычно имеет по крайней мере по одному компоненту следующих трех типов:

  1.  Компоненты — наборы данных (data set), непосредственно связывающиеся с базой данных. Для BDE это такие компоненты, как Table, Query, StoredProc, BDEClientDataSet. Для других технологий, рассмотренных в главе 11, имеются аналогичные компоненты наборов данных.
  2.  Компонент — источник данных (Data Source), осуществляющий обмен информацией между компонентами первого типа и компонентами визуализации и управления данными. Таким компонентом является DataSource.
  3.  Компоненты визуализации и управления данными, такие, как DBGrid, DBText, DBEdit и множество других.

Эти объекты могут быть разделены на три группы:

  •  невизуальные: TTable, TQuery, TDataSet, TField
  •  визуальные: TDBGrid, TDBEdit
  •  связующие: TDataSource

Первая группа включает невизуальные классы, которые используются для управления таблицами и запросами. Эта группа сосредотачивается вокруг компонент типа TTable, TQuery, TDataSet и TField. В Палитре Компонент эти объекты расположены на странице BDE.

Вторая важная группа классов - визуальные, которые показывают данные пользователю, и позволяют ему просматривать и модифицировать их. Эта группа классов включает компоненты типа TDBGrid, TDBEdit, TDBImage и TDBComboBox. В Палитре Компонент эти объекты расположены на странице Data Controls.

Имеется и третий тип, который используется для того, чтобы связать предыдущие два типа объектов. К третьему типу относится только невизуальный компонент TDataSource. В Палитре Компонент расположен на странице Data Access.

Для управления БД мы будем использовать компоненту Table.

Она предназначена для  связи с таблицей БД. Компонент TTable можно поместить на форму в режиме проектирования или создать динамически во время выполнения.

Для работы с компонентой необходимо установить значения свойств:

  •  Name – имя компоненты (по умолчанию Table1);
  •  DatabaseName - база данных ;
  •  TableName - имя таблицы .

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

  •  BDE алиас;
  •  директорий для локальных БД ;
  •  директорий и имя файла базы данных для Local InterBase ;
  •  локальный алиас,  определенный через компонент TDatabase.

Свойство TableName определяет имя таблицы базы данных.

Для связи визуальных компонент с таблицей БД используют компонету DataSource. Необходимо изменить свойство DataSet à на имя компоненты Table, в результате произойдет связь физической БД с визуальными компонентами.

Визуальные компоненты для работы с данными.

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

  1.  DBGrid
  2.  DBEdit
  3.  DBText
  4.  DBCheckBox
  5.  DBRadioGroup
  6.  DBMemo
  7.  DBListBox
  8.  DBComboBox
  9.  DBImage
  10.  DBNavigator

Компонент TDBGrid используется для показа содержимого записей НД в табличном формате, когда строки соответствуют записям НД, а столбцы -полям записи (рис. 51):

Рис. 51 – Использование компоненты TDBGrid

В таблице 23 представлены  свойства, методы и события компоненты.

Таблица 23 -  Свойства и методы компоненты ListBox

Название

Назначение

Свойства

Name

Наименование компоненты (по умолчанию DBGrid1)

DataSource

содержит имя компонента TDataSource, который ссылается на соответствующий НД (компоненты TTable или TQuery).

Columns

Вызов редактора столбцов

Для того чтобы использовать редактор столбцов необходимо:

1 Вызвать редактора полей для набора данных DBGrid (нажав на свойстве Columns).

2) Явно добавить все поля в редакторе полеи (рис. 52);

Рис. 52 – Использование редактора полей

3) В инспекторе объектов выбрать необходимое поле  и изменить значение свойств (рис. 53):

Рис. 53 – Использование редактора полей

Свойства полей БД представлены в таблице 24.

Таблица 24 – Свойства полей БД

Свойство

Назначение

Aligment

Определяет выравнивание значений в столбце. По умолчанию TField. Aligment.

BultonStyle

Определяет тип кнопки, появляющейся в столбце в режиме редактирования: cbsAuto (по умолчанию) - автоматическая установка (показывает кнопку раскрытия выпадающего списка возможных значений, если столбец может принимать лишь одно из значений, определенных связью с иным НД, или списком свойства PickList); cbsEllipse - показывает кнопку (...) в столбце справа; обработчик нажатия кнопки соответствует обработчику события OnEditButtonCUck; cbsNone - никакой кнопки в столбце нет.

Color

Определяет цвет фона столбца. По умолчанию TDBGrid.Color.

DropDownRows

Если столбцу назначен выпадающий список возможных значений (посредством связи с другим НД или в свойстве PickList}, определяет число строк в нем. По умолчанию равно 7.

FieldName

Определяет поле ТБД, ассоциированное с данным постоянным столбцом. Может быть пустым (см. "Пустые постоянные столбцы").

Readonly

Определяет возможность редактирования столбца из TDBGrid [True) или невозможность этого {False, по умолчанию).

Width

Определяет ширину столбца в пикселах. По умолчанию значение извлекается из TField. DisplayWidth, где, заметим, ширина дается в символах.

Font

Определяет тип, размер и цвет шрифта для вывода значений в столбце. По умолчанию TDBGrid.Font

PickList

В случае, если для занесения значений в столбец используется раскрывающийся список возможных значений (кроме случая связи с иным НД), определяет этот список

Свойство Title определяет заголовок постоянного столбца, представлены в таблице 25:

Таблица 25 – Свойства Title

Подсвойство

Назначение

Aligment

Определяет выравнивание заголовка. По умолчанию -влево.

Caption

Определяет текст заголовка. По умолчанию TField. DisplayLabel или имя поля ТБД.

Color

Определяет цвет фона заголовка. По умолчанию TDBGrid.FixedColor.

Font

Определяет тип, размер и цвет шрифта. По умолчанию TDBGrid.TitleFont.

  1.  Чтобы изменить заголовки столбцов в TDBGrid, следует в инспекторе объектов нужным образом изменить значения свойств Display'Label для каждого поля.

В том случае когда столбцы таблицы (т е поля записи) определены с использованием редактора полей как компоненты типа TField столбцы показываются в сетке TDBGrid в том состоянии которое определяется их текущими свойствами Если то или иное свойство столбца можно менять в процессе выполнения приложения эти изменения немедленно отобразятся в TDBGrid Например в ходе выполнения можно менять ширину столбца (свойство компонента TField Display Width) его видимость (Visible) возможность редактирования значения столбца (ReadOnlv) порядковый номер (Index) заголовок столбца (Display Label).

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

Для использования компонента TDBText нужно:

• указать в свойстве property DataSource: TDataSource; имя соответствующего компонента TDataSource, связанного с НД;

• указать в параметре property DataField: String; имя поля. При заполненном свойстве DataSource в инспекторе объектов, когда мы устанавливаем значение свойства DataField, появляется список:

- имен полей, определенных в редакторе полей;

- имен всех полей НД, на который ссылается соответствующий компонент TDataSource, ест редактор полей не

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

property DataSource: TDataSource; - имя компонента DataSource, определяющего НД;

property DataField: string; - имя редактируемого поля;

property ReadOnly: Boolean; - если содержит True, значение поля доступно только для чтения, если False - значение поля можно изменять.

Свойство property Text: string; хранит текущее содержимое поля НД в текстовом виде.

Событие property OnChange: TNotifyEvent; наступает при изменении значения поля.

События property OnEnter: TNotifyEvent; property OnExit: TNotifyEvent; наступают при получении и утрате фокуса управления компонентом TDBEdit.

Компонент TDBCheckBox позволяет "отметить" и "снять отметку" с логического поля в составе текущей записи НД.

Он обладает функциональностью компонента TCheckBox, но источником данных и их приемником в этом случае служит поле НД.

Свойства property DataSource: TdataSource; property DataField: string;. property ReadOnly: Boolean; имеют такое же назначение, как и аналогичные свойства компонента TDBEdit.

Свойство

property Checked : Boolean;

позволяет определить, отмечено поле, на которое ссылается TDBCheckBox (значение True) или не отмечено (False).

Свойство

property State: TCheckBoxState;

возвращает состояние поля. Возможные значения:

cbUnchecked- поле не отмечено;

cbChecked - поле отмечено;

cbGrayed - промежуточное состояние, когда поле не отмечено, но в нем показывается серый символ отметки. Он означает, что поле не содержит ни True, ни False, а содержит пустое значение. Именно это состояние присуще компоненту DBCheckBoxl при добавлении записей в приводившемся выше примере. Добиться того, чтобы во вновь добавляемых записях поле Uzenka по умолчанию содержало значение False можно в обработчике события OnNew Record компонента Table1 (событие наступает всякий раз при добавлении новой записи):

Компонент TDBChechBox можно связывать и не с логическим, а с символьным полем. В этом случае необходимо установить значения приводимых ниже свойств.

Свойство

property ValueChecked: string;

устанавливает значения поля, при которых TDBCheckBox переходит в состояние cbChecked. При наличии нескольких значений они разделяются точкой с запятой:

DBCheckBox1.ValueChecked := 'True;Yes;On;Дa;Д';

Свойство

property ValueUnchecked: string;

устанавливает значения поля, при которых TDBCheckBox переходит в состояние cbUnchecked. При наличии нескольких значений они разделяются точкой с запятой:

DBCheckBoxl.ValueUnchecked := 'False;No;Off; Нет;Н';

События

property OnEnter: TNotifyEvent;

property OnExit: TNotifyEvent;

наступают при получении и утрате фокуса управления компонентом.

Событие

property OnClick: TNotifyEvent;

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

Компонент TDBRadioGroup служит для предоставления фиксированного набора возможных значений поля при помощи группы зависимых переключателей. Этот компонент обладает функциональностью компонента TRadioGroup, но источником данных и их приемником в этом случае служит поле НД.

Свойства

property DataSource : TDataSource;

property DataField: string;

property ReadOnly: Boolean;

аналогичны по назначению одноименным полям компонента TDBEdit.

Напомним, что число и названия вариантов возможных значений поля, содержащихся в TDBRadioGroup, определяются в его свойстве Items: TStrings.

Свойство property Value: string; возвращает значение поля, связанного с компонентом TDBRadioGroup, в текстовом виде.

Свойство property Columns: Integer указывает, сколько назначено столбцов для вывода переключателей (в примере на рис. 11.4. Columns = 2

Событие property OnChange: TnotifyEvent наступает при изменении значения поля, связанного с компонентом TDBRadioGroup.

События property OnEnter: TNotifyEvent; property OnExit: TNotifyEvent; наступают при получении и утрате фокуса управления компонентом.

Компонент TDBListBox применяется, когда нужно выбрать значение поля из предустановленного списка значений. Возможные значения содержатся в качестве строк компонента TDBListBox.

Свойства property DataSource : TDataSource; property DataField: string; property ReadOnly: Boolean; аналогичны по назначению одноименным свойствам компонента TDBEdit.

Свойство property Items: TStrings; содержит список возможных значений поля.

События property OnEnter: TNotifyEvent; property OnExit: TNotifyEvent; наступают при получении и утрате фокуса управления компонентом TDBEdit.

События property OnClick: TNotifyEvent; property OnDblClick: TNotifyEvent; наступают при одиночном и двойном щелчке мышью на компоненте TDBListBox

Компонент TDBComboBox аналогичен компоненту TDBListBox, за исключением того, что в режиме dsBrowse текущее значение поля показывается аналогично TDBEdit, а в режимах добавления (dslnsert) и редактирования (dsEdit) при занесении значения в поле появляется "выпадающий список". Длина списка в строках определяется свойством property DropDownCount: Integer;

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

При корректировке текста комментария в компоненте TDBMemo набор данных, к которому принадлежит поле комментария, автоматически переводится в состояние dsEdit.

Свойство AutoDisplay: Boolean; в состоянии True указывает на необходимость того, чтобы любые изменения в поле НД автоматически отображались и в TDBMemo. В состоянии False подобные действия не производятся и обновление информации в TDBMemo необходимо производить программно.

Свойство Alignment; TAlignment; определяет выравнивание текста в TDBMemo - влево (taLeftJustify), вправо (taRightJustify), по центру (taCenter).

Свойство WordWrap : Boolean; в состоянии Тгие разрешает показывать с новой строки те слова, которые не умещаются в области показа (при этом свойство ScrollBars не должно определять линию горизонтальной прокрутки). В состоянии False этого не происходит .

Свойство ScrollBars : TScrollStyle; определяет полосы прокрутки в окне TDBMemo. отсутствие полос прокрутки (ssNone), горизонтальную (ssHorizonlal), вертикальную (ssVertical) и обе (ssBoth).

Свойство Lines: TStrings; содержит строки поля комментария. Для работы с Lines допустимо (и рекомендуется) использовать свойства и методы класса TStrings. Приведем наиболее важные из них:

• Count: Integer; Возвращает общее число строк в Lines.

• Memol.Lines[i] : String; Позволяет обратиться к i-й строке. При этом i принадлежит к интервалу 0..Lines.Count -1.

Компонент  DBImage позволяет отображать графические поля из БД. Свойство Stretch (типа Boolean ) позволяет увеличивать или уменьшать рисунок по компоненте.

Компонент  DBNavigator позволяет выполнять навигацию и изменение в таблице БД. На рисунке 54  представлен общий вид компоненты.

Рис. 54 – Кнопки навигации компоненты DBNavigator

Назначения кнопок  представлены в таблице 26.

Таблица 26 – Кнопки DBNavigator

Номер кнопки

Название

Назначение

nbFirst

Перемещение к первой записи

nbPrior

Перемещение к предыдущей  записи

nbNext

Перемещение к следующей записи

nbLast

Перемещение к последней записи

nbInsert

Вставка новой записи перед текущей

nbDelete

Удаление текущей записи

nbEdit

Редактирование текущей записи

nbPost

Послать отредактированную запись в БД

nbCancel

Отменить результаты редактирования или добавления записи

nbRefresh

Очистить буфер данных, связанный с набором данных

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

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

Рис. 55 – Общий вид использования визуальных компонент


 

А также другие работы, которые могут Вас заинтересовать

15971. Лекции по криминалистике 848.5 KB
  Цветков Лекции по криминалистике 1994 Содержание: 1.АНКЕТА для опроса следователей органов внутренних делспециализирующихся на расследовании деятельности организованных преступных групп в сфере экономики. Тема 1. Современное состояние науки крим...
15972. Опыт борьбы с экономическими преступлениями в США 475.5 KB
  Цанава В.В. Опыт борьбы с экономическими преступлениями в США основные документы термины меры борьбы и их комментарии. Макеевка 1998. 122 с. Анализ и исследование дел о преступлениях совершенных как это принято условно называть €œв сфере экономики€ показывает...
15973. Конституційне судочинство Український та американський досвід 582.5 KB
  Як засвідчує досвід, становлення нової інституції як справді впливового та авторитетного органу в системі демократичних структур держави неможливе без всебічного обговорення його місця та ролі в суспільстві, без залучення кращих наукових і громадських сил до формування позитивного іміджу КС, донесення інформації про Конституційний Суд до широкого загалу
15974. Уголовно-правовая борьба в сфере экономических преступлений 460.5 KB
  УГОЛОВНОПРАВОВАЯ БОРЬБА В СФЕРЕ ЭКОНОМИЧЕСКИХ ПРЕСТУПЛЕНИЙ Харламова Юлия Николаевна Об авторе Программа курса Учебнометодические рекомендации по изучению курса Тема 1. ПОНЯТИЕ И ВИДЫ ПРЕСТУПЛЕНИЙ В СФЕРЕ ЭКОНОМИЧЕСКОЙ ДЕЯТЕЛЬНОСТИ Тема 2. ПРЕСТУПЛЕНИЯ ДО...
15975. Порівняльне право Європи. Основи порівняльного правознавства Європейські традиції 1.62 MB
  ББК 67.301 Х27 Х27 І8ВИ 9666331241 Рецензенти: Підопригора О.А. доктор юридичних наук професор академік Академії правових наук України; Довгерт А.С. доктор юридичних наук професор зав. кафедрою міжнародного приватного та митного права Інституту міжнародних від
15977. Опыт борьбы с экономическими преступлениями в США 535.5 KB
  СОДЕРЖАНИЕ Введение Нормы и правила уголовного расследования преступлений совершенных отдельными лицами или организациями выдержки из материалов руководства канцелярии Министерства Юстиции США Вашингтон д.с. 20530 Финансовые преступления распрос
15978. Злочинність і система кримінальних покарань 2.35 MB
  Фролова О.Г. Злочинність і система кримінальних покарань ВСТУП Не лише в Україні та державах що утворилися на території колишнього СРСР а також у країнах колишнього соціалістичного табору у більшості зарубіжних країн світу за останні роки спостерігається зростан...
15979. Кримінальне право України Загальна частина 1.9 MB
  Аннотация ББК67.94УКР311я73 Ф88 Затверджено Міністерством освіти і науки України як підручник для студентів вищих навчальних закладів Лист М 1/114580від 30X2003р Рецензенти: Костщький М. В. доктор юридичних наук професор суддя Конституційного Суду України дійсний член...