Alpha – текстовой тип (до 255 символов).
Number – вещественный тип (от - 10 в степ. 307 до +10 в степени 308), точн. До 15 значных цифр.
$(Money) – денежный тип, алогичен типу Number.
Short – малый целочисленный (от -32768 до 32767),
Long Integer – большой целочисленный (-2147483648……..+2147483647),
# (BCD) – вещественные числа с повышенной точностью,
Date – тип даты
Time – тип времени
a (Timestamp) – тип даты и времени.
Memo – большое текстовое поле более 255 символов
Formated Memo – форматируемое текстовое поле , разные шрифты, цвета, стили,
Graphic – графический тип
OLE– информация а форматах, поддерживаемых технологий
OLE (Object Linking and Embedding),
Logical – логический тип
(Autometement) – автоматически увеличивающееся целое число (счетчик)
Bmary – двоичные данные произвольной длины.
Свойство полей:
Required (Обязательное поле)
Minimum value (Минимальное значение) для числовых полей
Maximum value (Максимальное значение) для числовых полей.
Detault value (Значение выносимое по умолчанию)
Picture (Маска ввода)
После того как задали свойства полям, нажимаем Save as (сохранить таблицу) в появившемся окне задаем:
а) имя файлу (Client db)
б) указываем Alias «Firma 1». Расширение DB является стандартным для файлов Paradox.
Аналогично создаем поля таблиц (см. Приложение таблицы «товары», «заказы»).
«Order. db»
Field Name
Type
Size
Key
1.
Order ID
+
*
2.
*Date
В
3.
FirmsNum
N
4.
WaresNun
N
5.
Amount
I
6.
Summa
N
«Wares.db»
Field Name
Type
Size
Key
1.
Wares ID
+
*
2.
Name
A
30
3.
Nature
A
30
4.
Nature
A
10
5.
Units
A
6.
Price
N
Доступ к таблицам базы данным Для доступа к таблице любой базы данных компонент TTable с панели компонентов DataAccess (Доступ к данным) располагаем на форме.
Надо выделить объект Table 1, затем в Инспекторе объектов для свойство DatabaseName (Имя базы данных) выберете значение MyBase. В раскрывающемся списке перечислиться и другие базы данных доступные в текущей системе.
Теперь требуется указать таблицу, связь с которой осуществляет объект Table 1. Нужная таблица базы данных MyBase выбирается в раскрывающемся списке свойства TavleName.
Чтобы к этим таблицам можно было обращаться из программы, для каждой из них свойству Active надо присвоить значение tru.
С панели DataAccess размещаем на форме компонент TDataSourсe. Определяем свойства компонента.
4) DataSet – это свойство указывает на таблицу, устанавливаем «Tabel1»
C панели DataControl размещаем на форме компонент TDBGrid – это сетка для ввода данных из таблиц. Задаем свойства компонента:
5) DataSopurse – указывает на компонент, являющий связующим звеном, устанавливаем DataSourсe 1.
В этом же приложении аналогично выведите таблицу «Заказы» в виде сетки.
б) Создаем другое приложение. Выведем таблицу «Клиенты» отдельными полями.
Размещаем на форме компоненты Ttable , TDataSourсe.
Аналогично примеру а) определяем свойства компонентов
Вместо сетки TDBGrid разместим с панели DataControls 9 компонентов TDBEdit , один TDBMemo и зададим их свойствам следующие значения:
1)dataSource – указывает на источник данных, устанавливам DataSource1
2) dataField – указывает на вводимое поле, например: name . address, ClientsName , dataofbirth, age и т.д. TDBText используется для вычислительного поля «Возраст», TDBMemo – «Description»
Размещаем компоненты Tlabel , подписываем поля.
Размещаем TDBRadioGroup назовем его «пол клиента». Помимо свойств DataSource, DataField определяем у данного компонента следующие:
3) Items – это элементы из списка, пишем «мужской, женский».
Размещаем TDBComboBox. Рядом метку назовем «Семейное положение». Помимо известных двух свойств DataSource , DataField в Items – пишем «женат, холост, замужем, не замужем».
Размещаем TDBCheckBox он используется для логических свойств . В свойстве Caption пишем «дети». Задаем известные два свойства DataSource, DataField.
C панели DataControls размещаем на форме компонент TDBNavigator. Задаем свойствам:
DataSource – значение DataSource1
Hunts – это массив всплывающих подсказок, можно переименовать или перевести на русский язык.
ShowHint – задаем tru
C панели DataControls размещаем на форме компонент TDBImage, в его свойстве Stretch устанавливаем значение tru . C панели DialogControls размещаем на форме компонент TDBImage в его свойстве Stretch устанавливаем значение tru. C панели Dialogs выносим OpenPictureDialog 1 на форму. Выделив TDBImage1 на событие OnDblClick пишем программный код.
Begin
If OpenPictureDialog 1 execute then begin
Table 1 Edit
DBImage 1 Picture LoadFromFile (openPictureDialog 1 Filename)
Table1 Post
End.
End;
Пример 10. Установление связей между таблицами.
Цель примера: Установление связей между полями таблиц.
Создание вторичных ключей.
Задание.
Работаем с приложением , в котором выделены в виде сетки две таблицы «товары», «Заказы».
Размещаем на форме Table 3. Задаем следующие значения свойствам компонента Table 3:
Name – называем «Linkedtable»
DataBaseName – указываем «Firma 1»
TableName – «order.db»
Связываем таблицу 3 («заказы») с таблицей 1 («товары»).
Устанавливаем у всех таблиц свойства Active – false
Далее выполняем:
Tools – desklop, здесь открываем зависимую таблицу (таблицу “Order db")
Создаем индекс для главного поля в зависимой таблице . индекс позволяем выставить записи в поле по алфавиту, т.е. выполняем: table Restructure
В появившемся окне в падающем списке свойства table properties выделяем строку WaresNum устанавливаем SecondaryIndexes.
Нажимаем Define появляется список имеющихся полей, здесь выделяем нужное поле (WaresNum). Нажав кнопку со стрелкой заносим его в список Indexed fields , нажимаем “OK”.
В появившемся окне пишем «WaresNumIndex», нажимаем ОК затем Save .
Закрываем таблицу в Desktope.
Задаем свойства зависимой таблицы. Выделив компонент Table 3:
MasterSource – указывает на связующее звено главной таблицы, устанавливаем DataSource 1.
IndexName – указывает имя используемого индекса – WaresNumIndex.
MasterFields – здесь связываем поля , нажимаем кнопку «….» в появившемся окне: в списке DetailFields указываем сроку WaresNum а в списке MasterFields – строку WaresID, нажимаем Add затем ОК
У всех таблиц устанавливаем свойства Acticve – tru.