admin管理员组文章数量:1537955
2024年3月20日发(作者:)
标准的DBF文件,是由头文件和实体信息两部分构成(如图所示)。
文件头
记录1
记录2
记录3
记录4
……
……
记录n
DBF文件的结构
1)
文件的文件头
其中文件头部分的长度是不定长的,它主要对DBF文件作了一些总体说明(表),其中
最主要的是对这个DBF文件的记录项的信息进行了详细地描述,比如对每个记录项的名称、
数据类型、长度等信息都有具体的说明。
在文件中
的位置
0
1-3
4-7
8-9
10-11
12-13
14
15
16-27
28
内容
1个字节
3个字节
表示当前的版本信息
表示最近的更新日期,按照YYMMDD格式。
说明
1个32位数
文件中的记录条数。
1个16位数
文件头中的字节数。
1个16位数
一条记录中的字节长度。
2个字节
1个字节
1个字节
12个字节
1个字节
保留字节,用于以后添加新的说明性信息时使用,这里用0
来填写。
表示未完成的操作。
dBASE IV编密码标记。
保留字节,用于多用户处理时使用。
DBF文件的MDX标识。在创建一个DBF 表时 ,如果使用了
MDX 格式的索引文件,那么 DBF 表的表头中的这个字节就自
动被设置了一个标志,当你下次试图重新打开这个DBF表的
时候,数据引擎会自动识别这个标志,如果此标志为真,则
数据引擎将试图打开相应的MDX 文件。
Language driver ID.
保留字节,用于以后添加新的说明性信息时使用,这里用0
来填写。
记录项信息描述数组。n表示记录项的个数。这个数组的结构
在表2.8中有详细的解释。
作为记录项终止标识。
文件(.dbf)的文件头
29
30-31
32-X
X+1
1个字节
2个字节
(n*32)个字
节
1个字节
位置
0-10
11
12-15
16
17
18-19
20
21-30
31
内容
1个字节
4个字节
1个字节
1个字节
2个字节
1个字节
说明
记录项的数据类型,是ASCII码值。(B、C、D、G、L、M和
N,具体的解释见表2.9)。
保留字节,用于以后添加新的说明性信息时使用,这里用0
来填写。
记录项长度,二进制型。
记录项的精度,二进制型。
保留字节,用于以后添加新的说明性信息时使用,这里用0
来填写。
工作区ID。
11个字节
记录项名称,是ASCII码值。
10个字节
保留字节,用于以后添加新的说明性信息时使用,这里用0
来填写。
1个字节
MDX标识。如果存在一个MDX 格式的索引文件,那么这个记
录项为真,否则为空。
记录项信息描述
代码
B
C
D
G
数据类型
二进制型
字符型
日期型
各种字符。
各种字符。
允许输入的数据
用于区分年、月、日的数字和一个字符,内部存储按照
YYYYMMDD格式。
(General
各种字符。
or OLE)
N
L
M
数值型
(Numeric)
- . 0 1 2 3 4 5 6 7 8 9
逻辑型? Y y N n T t F f (? 表示没有初始化)。
(Logical)
(Memo)
各种字符。
表2.9 dbf文件中的数据类型
2)
文件的实体信息
实体信息部分就是一条条记录,每条记录都是由若干个记录项构成,因此只要依次循环
读取每条记录就可以了。
3)
一个读取dbf文件的例子
假设要读取一个名为soil的dbf文件(存储了土地利用信息),它含有8个记录项,
记录项信息如表所示:
版权声明:本文标题:DBF详解 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1710902671a289503.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论