阅读:2181回复:1
[求助]如何用vb动态创建dbf文件?
请各位高手指教,在vb中有没有办法动态创建dbf文件?不胜感谢!!!
|
|
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 |
|
|