posts - 8,  comments - 6,  trackbacks - 0


          DBF的文件格式:

          ????

          文件頭

          記錄1

          記錄2

          記錄3

          記錄n


          BDF文件頭的詳細(xì)格式:
          ?

          在文件中的位置

          內(nèi)容

          說(shuō)明

          0

          1個(gè)字節(jié)

          表示當(dāng)前的版本信息

          1-3

          3個(gè)字節(jié)

          表示最近的更新日期,按照YYMMDD格式。

          4-7

          1個(gè)32位數(shù)

          文件中的記錄條數(shù)。

          8-9

          1個(gè)16位數(shù)

          文件頭中的字節(jié)數(shù)。

          10-11

          1個(gè)16位數(shù)

          一條記錄中的字節(jié)長(zhǎng)度。

          12-13

          2個(gè)字節(jié)

          保留字節(jié),用于以后添加新的說(shuō)明性信息時(shí)使用,這里用0來(lái)填寫。

          14

          1個(gè)字節(jié)

          表示未完成的操作。

          15

          1個(gè)字節(jié)

          dBASE IV編密碼標(biāo)記。

          16-27

          12個(gè)字節(jié)

          保留字節(jié),用于多用戶處理時(shí)使用。

          28

          1個(gè)字節(jié)

          DBF文件的MDX標(biāo)識(shí)。在創(chuàng)建一個(gè)DBF 表時(shí) ,如果使用了MDX 格式的索引文件,那么 DBF 表的表頭中的這個(gè)字節(jié)就自動(dòng)被設(shè)置了一個(gè)標(biāo)志,當(dāng)你下次試圖重新打開這個(gè)DBF表的時(shí)候,數(shù)據(jù)引擎會(huì)自動(dòng)識(shí)別這個(gè)標(biāo)志,如果此標(biāo)志為真,則數(shù)據(jù)引擎將試圖打開相應(yīng)的MDX 文件。

          29

          1個(gè)字節(jié)

          Language driver ID.

          30-31

          2個(gè)字節(jié)

          保留字節(jié),用于以后添加新的說(shuō)明性信息時(shí)使用,這里用0來(lái)填寫。

          32-X

          (n*32)個(gè)字節(jié)

          記錄項(xiàng)信息描述數(shù)組。n表示記錄項(xiàng)的個(gè)數(shù)。這個(gè)數(shù)組的結(jié)構(gòu)在表2.8中有詳細(xì)的解釋。

          X+1

          1個(gè)字節(jié)

          作為記錄項(xiàng)終止標(biāo)識(shí)。


          DBF文件頭中記錄項(xiàng)的詳細(xì)格式:
          ?

          位置

          內(nèi)容

          說(shuō)明

          0-10

          11個(gè)字節(jié)

          記錄項(xiàng)名稱,是ASCII碼值。

          11

          1個(gè)字節(jié)

          記錄項(xiàng)的數(shù)據(jù)類型,是ASCII碼值。(B、C、D、G、L、M和N,具體的解釋見表2.9)。

          12-15

          4個(gè)字節(jié)

          保留字節(jié),用于以后添加新的說(shuō)明性信息時(shí)使用,這里用0來(lái)填寫。

          16

          1個(gè)字節(jié)

          記錄項(xiàng)長(zhǎng)度,二進(jìn)制型。

          17

          1個(gè)字節(jié)

          記錄項(xiàng)的精度,二進(jìn)制型。

          18-19

          2個(gè)字節(jié)

          保留字節(jié),用于以后添加新的說(shuō)明性信息時(shí)使用,這里用0來(lái)填寫。

          20

          1個(gè)字節(jié)

          工作區(qū)ID。

          21-30

          10個(gè)字節(jié)

          保留字節(jié),用于以后添加新的說(shuō)明性信息時(shí)使用,這里用0來(lái)填寫。

          31

          1個(gè)字節(jié)

          MDX標(biāo)識(shí)。如果存在一個(gè)MDX 格式的索引文件,那么這個(gè)記錄項(xiàng)為真,否則為空。


          ? DBF文件中的數(shù)據(jù)類型:

          代碼

          數(shù)據(jù)類型

          允許輸入的數(shù)據(jù)

          B

          二進(jìn)制型

          各種字符。

          C

          字符型

          各種字符。

          D

          日期型

          用于區(qū)分年、月、日的數(shù)字和一個(gè)字符,內(nèi)部存儲(chǔ)按照YYYYMMDD格式。

          G

          (General

          or OLE)

          各種字符。

          N

          數(shù)值型(Numeric)

          - . 0 1 2 3 4 5 6 7 8 9

          L

          邏輯型(Logical)

          ? Y y N n T t F f (? 表示沒有初始化)。

          M

          (Memo)

          各種字符。


          舉例說(shuō)明:
          假如文件中有10條記錄,每個(gè)記錄有4個(gè)字段,4個(gè)字段的長(zhǎng)度分別為:12、14、16、18,那么文件的詳細(xì)格式如下:
          文件頭占32+32*4+2個(gè)字節(jié):
          前32個(gè)字節(jié)是文件頭中的基本信息,32*4個(gè)字節(jié)是記錄項(xiàng)(即字段的定義信息),最后兩個(gè)字節(jié)分別是16進(jìn)制的0D 和20,0D代表上文表格中說(shuō)明的記錄項(xiàng)終止標(biāo)識(shí)。20代表一個(gè)空格。
          數(shù)據(jù)信息占(12+14+16+18)*10+1個(gè)字節(jié):
          12+14+16+18個(gè)字節(jié)代表一條記錄,共10條記錄。最后一個(gè)字節(jié)是數(shù)據(jù)的終止表示通常是16進(jìn)制表示的1A
          補(bǔ)充說(shuō)明:
          由于上述文件格式的定義,決定了字段名稱不能超過(guò)11個(gè)字節(jié)(或者5個(gè)中文字符),字符類型的字段,數(shù)據(jù)最大不能超過(guò)255個(gè)字節(jié)。在從文本、Excel、大型數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù)到DBF格式文件時(shí),一定要考慮到這些長(zhǎng)度限制。?
          posted on 2007-12-14 11:34 Kevin Jiang 閱讀(15613) 評(píng)論(6)  編輯  收藏 所屬分類: 暫不分類

          FeedBack:
          # re: DBF文件格式[未登錄]
          2008-05-24 12:04 | tiger
          非常感謝  回復(fù)  更多評(píng)論
            
          # re: DBF文件格式
          2008-07-17 19:09 | llj
          非常感謝!!??!
          終于弄明白了~ ~  回復(fù)  更多評(píng)論
            
          # re: DBF文件格式
          2008-10-29 22:22 | fwr
          不同的版本,格式還不一樣,vfp寫的版本“30”,里面好多已經(jīng)跟這個(gè)不一樣了,有些也沒弄清楚  回復(fù)  更多評(píng)論
            
          # re: DBF文件格式[未登錄]
          2011-03-19 15:13 |
          應(yīng)該:數(shù)據(jù)信息占(12+14+16+18+1)*10個(gè)字節(jié)吧  回復(fù)  更多評(píng)論
            
          # re: DBF文件格式
          2011-03-20 08:37 | Kevin Jiang
          @勇
          不是這樣的,每個(gè)記錄的結(jié)束不需要一個(gè)字節(jié)來(lái)表示,因?yàn)槲募^中對(duì)記錄項(xiàng)已經(jīng)詳細(xì)定義過(guò)。只需要數(shù)據(jù)信息結(jié)束的時(shí)候,用一個(gè)字節(jié)表示數(shù)據(jù)結(jié)束就可以了。  回復(fù)  更多評(píng)論
            
          # re: DBF文件格式[未登錄]
          2011-07-28 17:23 | 111
          @Kevin Jiang
          每條數(shù)據(jù)的第一位是一個(gè)判斷刪除與否的標(biāo)志位  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2011年7月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(1)

          隨筆分類(9)

          隨筆檔案(9)

          文章分類(1)

          文章檔案(1)

          暫不分類

          • 使用em定義字體大小
          • 使用px定義字體大小存在著在IE里無(wú)法調(diào)節(jié)字體大小的問題,使用em可以解決這一問題,據(jù)稱國(guó)外站點(diǎn)多數(shù)都是使用em來(lái)定義字體大小的。中文文章地址

          積分與排名

          • 積分 - 21234
          • 排名 - 1674

          最新評(píng)論

          • 1.?re: DBF文件格式[未登錄]
          • @Kevin Jiang
            每條數(shù)據(jù)的第一位是一個(gè)判斷刪除與否的標(biāo)志位
          • --111
          • 2.?re: DBF文件格式
          • @勇
            不是這樣的,每個(gè)記錄的結(jié)束不需要一個(gè)字節(jié)來(lái)表示,因?yàn)槲募^中對(duì)記錄項(xiàng)已經(jīng)詳細(xì)定義過(guò)。只需要數(shù)據(jù)信息結(jié)束的時(shí)候,用一個(gè)字節(jié)表示數(shù)據(jù)結(jié)束就可以了。
          • --Kevin Jiang
          • 3.?re: DBF文件格式[未登錄]
          • 應(yīng)該:數(shù)據(jù)信息占(12+14+16+18+1)*10個(gè)字節(jié)吧
          • --勇
          • 4.?re: DBF文件格式
          • 不同的版本,格式還不一樣,vfp寫的版本“30”,里面好多已經(jīng)跟這個(gè)不一樣了,有些也沒弄清楚
          • --fwr
          • 5.?re: DBF文件格式
          • 非常感謝!?。?!
            終于弄明白了~ ~
          • --llj

          閱讀排行榜

          主站蜘蛛池模板: 延长县| 郎溪县| 青田县| 定边县| 澎湖县| 太湖县| SHOW| 屯昌县| 邵东县| 师宗县| 潼关县| 龙门县| 拉孜县| 宝应县| 永清县| 桃园市| 吉安县| 信宜市| 吉林省| 邯郸市| 宜川县| 台安县| 黄平县| 罗源县| 珠海市| 邯郸市| 临安市| 贵港市| 五峰| 喀喇沁旗| 胶州市| 政和县| 界首市| 遂平县| 原阳县| 开远市| 永州市| 彭泽县| 博野县| 南木林县| 兴宁市|