以下是Delphi 3中 TTable中Create Table的例子, 我作了一些说明:
with Table1 do
begin
Active := False; { The Table component must not be active }
{ First, describe the type of table and give it a name }
DatabaseName := 'DBDEMOS';
TableType := ttParadox;
TableName := 'CustInfo';
//若不想指定某数据库, 而在本地硬盘上建立临时数据时,用以下方式替代以上三行
// DatabaseName := '';
// TableType := ttParadox;
// TableName := 'C:/Temp/CustInfo.db';
{ Next, describe the fields in the table }
with FieldDefs do
begin
Clear;
Add('Field1', ftInteger, 0, True);
Add('Field2', ftString, 30, False);
end;
{ Next, describe any indexes }
with IndexDefs do
begin
Clear;
{ The first index has no name because it is a Paradox primary key }
Add('', 'Field1', [ixPrimary, ixUnique]);
Add('Fld2Indx', 'Field2', [ixCaseInsensitive]);
end;
{ Now that we have specified what we want, create the table }
CreateTable;
end;
----------------------------------------------------------------------
若使用想SQL语句建立; 可以用下列方式(我经常使用SQL);
const CreateSQL='Create Table "%s" (%s)'; //SQL建表框架
var TempQuery:Tquery;
DefField :string; //字段名和数据类型描述部分
tableName :string; //表名称
begin
//字段名和数据类型描述, 每个字段用,号分开
Deffield := ' Field1 Integer, Field2 CHAR(30) ';
tableName := 'C:/TEMP/DB01.DB';
TempQuery := Tquery.Create(application); //建立TQuery对象
with TempQuery do begin
try
SQL.TEXT := format(CreateSQL,[tableName,deffield]); //填充Tquery中的SQL语句;
try
ExecSQL; //执行SQL命令
except
//..错误处理
end;
finally
free; //释放Tquery对象
end;
end;
end;
具体SQL的语法参看Delphi中Local SQL Help ;
那有create Table, create Index, drop table等语句的语法介绍
回复人:cmtan
如果要照已有的原库建数据库,可以这样
tblOld.Open; tblOld.Close;
....
tblNew.FieldDefs.Assign(tblOld.FieldDefs);
tblNew.IndexDefs.Assign(tblOld.IndexDefs);
tblNew.Create;