5
: TTable
TTable CreateTable. . () dBase Paradox.
TTable . , , :
var
Table1: TTable;
...
Table1:=TTable.Create(nil);
...
CreateTable
* TableType -
* DatabaseName -
* TableName -
* FieldDefs -
* IndexDefs - .
TableType TTableType . ttDefault, , :
¨ .DB : Paradox
¨ .DBF: dBASE
¨ .TXT: ASCII ( ).
TableType ttDefault, , :
¨ ttASCII:
¨ ttDBase: dBASE
¨ ttParadox: Paradox.
DatabaseName , . :
* BDE
*
* Local InterBase
* , TDatabase.
TableName .
FieldDefs ( TFieldDefs) . TFieldDef, (.. TFieldDef). Count, Items:
property Items[Index: Integer]: TFieldDef;
, CreateTable, . TFieldDefs Add:
procedure Add(const Name: string; DataType: TFieldType; Size: Word; Required: Boolean);
Name, string, . DataType ( TFieldType) . , :
TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftBlob, ftMemo,
|
|
ftGraphic);
Size ( word) . ftString, ftBytes, ftVarBytes, ftBlob, ftMemo, ftGraphic, . , . - Required - , . - true, , .. . , , NULL. , Delphi online- - Add.
, Add IndexDefs, , , , .. TIndexDefs. IndexDefs . TIndexDef, . Count, Items:
property Items[Index: Integer]: TIndexDef;
Add TIndexDefs :
procedure Add(const Name, Fields: string;
Options: TIndexOptions);
Name, string, . Fields ( string) , , .. . , , , ;, : Field1;Field2;Field4. - Options - . , TIndexOptions:
TIndexOptions = set of (ixPrimary, ixUnique, ixDescending,
ixCaseInsensitive, ixExpression);
. ixPrimary , ixUnique - , ixDescending - , ( - , ), ixCaseInsensitive - , , ixExpression - . , online-. ixExpression dBase . Fields , : 'Field1*Field2+Field3'. , . dBase Paradox:
dBASE Paradox
---------------------------------------
ixPrimary ü
ixUnique ü ü
ixDescending ü ü
ixCaseInsensitive ü
ixExpression ü
. , Paradox ixUnique ixPrimary (. - . 1).
, Add FieldDefs IndexDefs TTable - CreateTable:
|
|
with Table1 do
begin
DatabaseName:='dbdemos';
TableName:='mytest';
TableType:=ttParadox;
{ }
with FieldDefs do
begin
Add('Surname', ftString, 30, true);
Add('Name', ftString, 25, true);
Add('Patronymic', ftString, 25, true);
Add('Age', ftInteger, 0, false);
Add('Weight', ftFloat, 0, false);
end;
{ }
with IndexDefs do
begin
Add('I_Name', 'Surname;Name;Patronymic',
[ixPrimary, ixUnique]);
Add('I_Age', 'Age', [ixCaseInsensitive]);
end;
CreateTable;
end;
. , AddIndex TTable, Add TIndexDefs:
procedure AddIndex(const Name, Fields: string;
Options: TIndexOptions);
AddIndex , .
:
- Delphi.
- Table1, DataSource1, Button1 .
- Table1, DataSource1.
- Caption Button1 .
- OnClick Button1 .
- .
- .
- DataBase Desktop.