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

4 чел.

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

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

  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 – Общий вид использования визуальных компонент


 

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

35469. Системы телеобработки данных 51 KB
  Под техническими средствами телеобработки понимается совокупность технических средств системы обеспечивающих ввод данных в систему передачу данных по каналам связи сопряжение каналов связи с компьютером обработку данных и выдачу результатных данных абоненту. Наряду с техническими средствами для осуществления режима телеобработки у компьютера должно иметься и достаточно сложное программное обеспечение выполняющее такие функции как: обеспечение работы компьютера в различных режимах телеобработки; управление сетью телеобработки данных;...
35470. Классификация и архитектура информационно-вычислительных сетей 30 KB
  Основное назначение информационновычислительных сетей ИВС обеспечение эффективного предоставления различных информационновычислительных услуг пользователям сети путем организации удобного и надежного доступа к ресурсам распределенным в этой сети. Эффективность решения указанных задач обеспечивается: распределенными в сети аппаратными программными и информационными ресурсами; дистанционным доступом пользователя к любым видам этих ресурсов; возможным наличием централизованной базы данных наряду с распределенными базами данных; ...
35471. ПРИНЦИПЫ ПОСТРОЕНИЯ ТЕЛЕКОММУНИКАЦИОННЫХ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ (ТВС) 199.5 KB
  Абонентская система AC это совокупность ЭВМ программного обеспечения периферийного оборудования средств связи с коммуникационной подсетью вычислительной сети выполняющих прикладные процессы. Для ТВС принципиальное значение имеют следующие обстоятельства: ЭВМ находящиеся в составе разных абонентских систем одной и той же сети или различных взаимодействующих сетей связываются между собой автоматически в этом заключается основная сущность протекающих в сети процессов; каждая ЭВМ сети должна быть приспособлена как для работы в...
35472. Модель взаимодействия открытых систем 113 KB
  Указанные задачи решаются с помощью системы протоколов и стандартов регламентирующих нормализованные процедуры взаимодействия элементов сети при установлении связи и передаче данных. Протокол это набор правил и методов взаимодействия объектов вычислительной сети охватывающий основные процедуры алгоритмы и форматы взаимодействия обеспечивающие корректность согласования преобразования и передачи данных в сети. Говоря на разных языках люди могут не понимать друг друга также и сети использующие разные протоколы.
35473. Техническое обеспечение информационно-вычислительных сетей 78 KB
  Последние выполняют эффективную обработку данных и дистанционно обеспечивают пользователей сети всевозможными информационновычислительными ресурсами. Рабочая станция work station подключенный к сети компьютер через который пользователь получает доступ к ее ресурсам. Часто рабочую станцию равнокак и пользователя сети и даже прикладную задачу выполняемую в сети называют клиентом сети.
35474. Безопасность информации в сетях 79.5 KB
  К основным умышленным угрозам безопасности относятся: раскрытие конфиденциальной информации главным образом путем несанкционированного доступа к базам данных или прослушивания каналов связи; компрометация информации реализуется как правило посредством внесения несанкционированных изменений в базы данных внесения и использования компьютерных вирусов; несанкционированное использование ресурсов сети является средством раскрытия или компрометации информации но имеет и самостоятельное значение; несанкционированный обмен...
35475. Способы повышения производительности ЛВС 29.5 KB
  Интенсивность обмена данными между пользователями сети не является однородной. Часто в сети можно выделить группы пользователей информационно более интенсивно связанных друг с другом рабочие группы выполняющие решение однородных задач. В этом случае можно увеличить производительность сети разместив разные рабочие группы в отдельных сегментах сети.
35476. История Белоруссии от древних времен до Великого княжества Литовского 224 KB
  Среди историков существуют три концепции образования ВКЛ. Приверженцы так называемой литовской концепции считают что образование ВКЛ стало результатом внутреннего развития балтских племен. Поэтому ВКЛ надо считать литовским государством.
35477. История Белоруссии от начала XVI века до наших дней 288 KB
  Распространение униатства на территории Беларуси как новой религии в конце XVI первом десятилетии XVII в. около 3 4 сельского населения Беларуси было униатами. Развитие культуры Беларуси в середине XVI начале XVI в. в основанной им Несвижской типографии нздап первую на территории Беларуси печатную книгу на старрбелорусском литературном языке Катехизис а также книгу Об оправдании грешного человека перед Богом.