以上都是用sql语法,但也可采用table的createtable()创建
代码如下:
begin
with ttable.create(self) do begin //建立ttable对象
databasename:='c:/temp'; //建立目录
tablename:='test'; //建立表名
tabletype:=ttparadox; //表的类型
with fielddefs do begin
add('age',ftinteger,0,true);
add('name',ftstring,25,false);
add('weight',ftfloat,0,false);
end;
indexdef.add('','age',[ixprimary,ixunique]);//建立索引
createtable; //建表
end;
end;
我从前作的一个程序,稍稍修改了一下。
var fieldstr:string;
begin
with query1 do
begin
fieldstr:='';
close;
sql.clear;
sql.add('create table test(');
table1.first;
while not table1.eof then
begin
fieldstr:=fieldstr+table1.fieldname('createfield').value+' integer,';//定义字段
table1.next;
end;
//设置算法消除fieldstr的最后一个逗号
for i := length(fieldstr) downto 0 do
begin
if (sqlstr = ',') or (sqlstr = ' ') then
begin
delete(sqlstr, i, 1);
end
else
break;
end;