delphi 创建DBASE和FOXPRO两类DBF数据文件的差异

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[0];
      Self.Table1.FieldDefs.Add(BBList[0],ftInteger,0,True);//与FoxPro的不同
      for i:=1 to BBList.Count-1 do
      begin
        Self.Table1.FieldDefs.Add(BBList[i],ftFloat,0,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:=1 to 10 do
    begin
      table1.FieldDefs.Add('ff'+inttostr(i),ftString,6);   // 不同支出
    end;
    table1.CreateTable;
    Table1.Active :=True;
    Table1.Append;
    Table1.Fields[1].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文件,则上述两种软件均可打开。