gic06123
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数29
  • QQ342494838
  • 铜币240枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2181回复:1

[求助]如何用vb动态创建dbf文件?

楼主#
更多 发布于:2004-12-03 10:00
请各位高手指教,在vb中有没有办法动态创建dbf文件?不胜感谢!!!
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2004-12-04 01:07
    DBASE、FOXBASE、FOXPRO和VISUAL FOXPRO这几个数据库都是.DBF格式的,而我们采用VISUAL FOXPRO来实现DBF格式。一个VISUAL FOXPRO表或者是.DBF文件能够存在以下两种状态之一,即数据库表和自由表。数据库表即与据库相关联的表,自由表则是与数据库无关的表。对于自由表的创建,VB把DBF文件所在目录看作一个数据库(相当于.mdb),而该目录下的所有DBF文件看作表。但是它限制了字段名字的长度在10个字符以内。对于数据库表则支持长字段名,但是要动态创建DBF数据库需要下载最新的驱动程序才能执行,因为以前的老驱动和ODBC都不支持。对于DBF数据库和MDB数据库也有一些区别,MDB数据库是一个复合文件,所有的表的数据都放在.MDB文件中,而DBF数据库则是一个索引,它把所有表的信息放在一个DCX文件中作为索引,而数据库的名字是.DBC,每个表都有自已的.DBF文件,所以我们创建表的时候一定要给它加上相对路径,要不然它会以系统默认的目录来创建表。明白这些后,我们就可以动态创建DBF数据库了.处理DBF数据库中的数据类型的处理和MDB数据库里的数据类型处理是一样的。
示例:
Dim cat As ADOX.Catalog
Dim NewTable As ADOX.Table
Set cat = New ADOX.Catalog
Set NewTable = New ADOX.Table
cat.Create "Provider=vfpoledb.1;Data Source=" ; strSource ; ".dbc"    
NewTable.Name = strSource ; "\action_log"
NewTable.Columns.Append "id", adInteger
NewTable.Columns.Append "patient_case_id", adInteger
NewTable.Columns("patient_case_id").Attributes = adColNullable
NewTable.Columns.Append "action_name", adVarWChar, 20
NewTable.Columns("action_name").Attributes = adColNullable
cat.Tables.Append NewTable
Set NewTable = Nothing
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部