Delphi 3 и создание приложений баз данных


8.2.4. Создание новой таблицы


procedure CreateTable; создает новую пустую таблицу. Перед созданием таблицы для данного компонента TTable нужно указать:

• имя БД - в свойстве DatabaseName;

• имя таблицы - в свойстве TableName;

• тип таблицы - в свойстве ТаblеТуре. Возможно указание следующих типов:

ttASCII

: многоколончатый текстовый файл, используемый для чтения как ТБД;

ttDBase

: таблица dBASE;

ttParadox

: таблица Paradox;

описания полей - в свойстве FieldDefs;

описания индексов - в свойстве IndexDefs.

Для добавления описаний полей в свойство FieldDefs оно сначала очищается, а затем для каждого поля информация в FieldDefs заносится методом

procedure Add(const Name: string; DataType: TFieldType; Size: Word; Required: Boolean);

где: параметр Name определяет имя поля; параметр DataType определяет тип поля:

TFieldType = (ftUnknown, ftString, ftSmallint, ftlnteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary) ;

параметр Size определяет размер поля (если его указание необходимо) или 0 (если тип поля подразумевает его размер, например ftlnteger);

параметр Required определяет, должно ли поле в обязательном порядке содержать значение.

Для добавления описаний индексов в свойство IndexDefs оно сначала очищается, а затем для каждого поля информация в IndexDefs заносится методом procedure Add(const Name, Fields: string; Options: TIndexOptions); где параметр Name определяет название индекса; параметр Fields определяет список индексных полей. В случае нескольких полей их имена разделяются точкой с запятой. Могут быть указаны только те поля, описания которых перед этим добавлены в свойство FieldDefs; параметр Options определяет свойства индекса (см. описание метода Addlndex).

Пример.

Создать новую ТБД с именем 'NewT' в БД 'book1', состоящую из двух полей - символьного поля FIO и целочисленного Oklad, с одним первичным индексом по полю FIO:

WITH Table1 do begin

// укажем БД, имя новой ТБД, тип ТБД

Active := False;

DatabaseName := 'book';

TableName := Editl.Text;

TableType := ttParadox;

// опишем поля создаваемой ТБД

WITH FieldDefs do begin

Clear;

Add('FIO', ftString, 30, False);

Add('Oklad', ftlnteger, 0, False);

END;//with FieldDefs

// опишем индексы создаваемой ТБД

WITH IndexDefs do begin

Clear;

Add('Index_FIO', 'FIO', [ixPrimary, ixUnique]) ;

END;//with IndexDefs

CreateTable; // создадим ТБД

Active := True; // откроем ее

END;//WITH Tablel

Заметим, что ТБД может быть создана также и при помощи SQL-оператора CREA ТЕ TABLE. Для "персональных" СУБД типа Paradox и dBase это альтернативный методу CreateTable способ; для "промышленных" СУБД это единственный способ динамического создания ТБД из работающего приложения, реализованного с помощью Delphi.




Начало  Назад  Вперед



Книжный магазин