delphi 创建DBASE和FOXPRO两类DBF数据文件的差异,主要有几点:
1、创建方法不同
DBASE的创建方法:
Self.Table1.Close;
Self.Table1.Active :=False;
Self.Table1.DisableControls;
Self.Table1.DatabaseName:=Path;
Self.Table1.TableName:=Fname;
Self.Table1.TableType :=ttDBase;//与FoxPro的不同
Self.Table1.FieldDefs.Clear;
Self.Table1.IndexDefs.Clear;
BBList.DelimitedText:=llist.Strings[];
Self.Table1.FieldDefs.Add(BBList[],ftInteger,,True);//与FoxPro的不同
for i:= to BBList.Count- do
begin
Self.Table1.FieldDefs.Add(BBList[i],ftFloat,,True);
end;
Self.Table1.CreateTable;
FoxPro的方法:
table1.Close;
table1.Active:=false;
table1.Exclusive:=true;
table1.TableName:='c:\a.dbf';
table1.TableType:=ttFoxPro;//不同之处 table1.FieldDefs.Clear;
for i:= to do
begin
table1.FieldDefs.Add('ff'+inttostr(i),ftString,); // 不同支出
end;
table1.CreateTable;
Table1.Active :=True;
Table1.Append;
Table1.Fields[].AsString:='2.31';
Table1.Post;
2、数据类型不同
DBASE认可的数据类型有:ftString、ftInteger、ftFloat等,但FoxPro只认可ftString
3、字段数不同
DBASE下可以创建多于256个字段,但FoxPro只能创建1个字节的字段,即256个字段。
4、数据库结构不同
两类数据库类型的数据结构不同,导致按照这两种数据库创建的DBF文件在不同的软件中可能打不开,如SPSS软件无法打开ttDBASE类型创建的dbf文件,ArcGIS也无法打开其文件,但由ttFoxPRO类型创建的DBF文件,则上述两种软件均可打开。