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文件,则上述两种软件均可打开。