请问哪里可以找到有关DBF文件的结构资料?

Awang_126 2003-09-14 11:32:40
如题
...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
feirui 2003-09-16
  • 打赏
  • 举报
回复
楼上贴的是vf5里的帮助

帮助->目录->技术参考->文件结构
heavenmusic 2003-09-16
  • 打赏
  • 举报
回复
借来的,,你看一下...:

資料表格檔的結構(.DBC、.DBF、.FRX、.LBX、.MNX、.PJX、.SCX、.VCX)

請參閱



Visual FoxPro 使用資料表格儲存資料,並根據儲存資料的不同定義了不同的檔案類型,作為資料表格檔儲存的檔案類型有:

?資料表格(.DBF)
?資料庫(.DBC)
?表單(.SCX)
?標籤(.LBX)
?功能表(.MNX)
?專案(.PJX)
?報表(.FRX)
?類別定義函數庫(.VCX)



由於上述檔案實際上就是資料表格,因此能夠以瀏覽 .DBF 檔的模式使用和瀏覽這些檔案。

資料表格檔由檔頭記錄及資料記錄組成。檔頭記錄定義該資料表格的結構並包含與資料表格相關的其他資訊。檔頭記錄由檔案位置 0 開始。資料記錄1緊接在檔頭記錄之後(連續的位元組),包含欄位中實際的文字。

有關各種檔案類型的資料表格結構的詳細內容,請參閱[資料表格檔的資料表格結構]。

資料記錄的長度(以位元組為單位)等於所有欄位定義的長度總和。資料表格檔中儲存整數時低位元組在前。

資料表格檔頭記錄的結構

位元組偏移 說明

0 檔案類型0x02 FoxBASE0x03 FoxBASE+/dBASE III PLUS,無說明0x30 Visual FoxPro0x43 dBASE IV SQL 資料表格檔,無說明0x63 dBASE IV SQL 系統檔案,無說明0x83 FoxBASE+/dBASE III PLUS,有說明0x8B dBASE IV 有說明0xCB dBASE IV SQL 資料表格檔,有說明0xF5 FoxPro 2.x(或更早版本)有說明0xFB FoxBASE
1 - 3 最近一次更新的時間(YYMMDD)
4 - 7 檔案中的資料記錄數目
8 - 9 第一筆資料記錄的位置
10 - 11 每筆資料記錄的長度(包括刪除記號)
12 - 27 保留
28 資料表格的記號0x01 具有 .CDX 結構的檔案0x02 檔案包含說明。0x04 檔案是資料庫(.DBC)請注意,這個位元組可以包含任何上面值的和。例如,0x03 表示資料表格具有結構化 .CDX 和一個附註欄位。
29 字碼頁記號
30 - 31 保留,包含 0x00
32 - n 欄位子資料記錄欄位的數目決定了欄位子資料記錄的數目。資料表格中每個欄位都對應一個欄位子資料記錄。
n+1 檔頭記錄終止符(0x0D)
n+2 到 n+264 此範圍內的 263 個位元組包含歸屬連結資訊(相關資料庫 (.DBC) 的相對路徑)。如果第一個位元組為 0x00,則該檔案不與資料庫關連。因此資料庫檔案本身總是包含 0x00。


1 檔頭記錄中的第 8 到第 9 個位元組指示資料檔案中資料的初始位置。資料記錄從刪除記號位元組開始。如果此位元組為 ASCII 空白 (0x20),該資料記錄沒有刪除記號,如果第一位元組為星號 (0x2A),該資料記錄有刪除記號。在記號之後是欄位資料記錄中所命名各欄位中的資料。

欄位子資料記錄結構

位元組偏移 說明

0 - 10 欄位名稱(最多 10 個字元 -若少於 10 則用空字元 (0x00) 填滿)
11 欄位型態C - 字元型態Y - 貨幣型N - 數值型態F - 浮點數型態D - 日期型態T - 日期時間型態B - 倍精準數I - 整數L - 邏輯型態M - 附註G - 通用型態C - 字元型態(二進位)M - 附註欄位型態(二進位)P - 圖片型
12 - 15 資料記錄中該欄位的位移
16 欄位長度(以位元組為單位)
17 小數位數
18 欄位記號0x01 系統欄位(對使用者是非可視的)0x02 可儲存 null 值的欄位0x04 二進位欄位(只適於字元型態和附註欄位型態)
19 - 32 保留


有關對每筆資料記錄中字元的限制以及欄位數目的最大值等詳細內容,請參閱[Visual FoxPro 系統容量]。

說明

除非在檔案中加入下列功能,否則 Visual FoxPro 將不修改按 FoxPro 2.X 檔格式儲存的檔案標題:

?支援 null 值
?日期時間型態、貨幣型態及倍精準數資料
?字元欄位和附註欄位記號為二進位
?在資料庫 (.DBC) 檔案中加入資料表格



秘訣 可以使用下面的公式求出資料表格檔中欄位的數目:(x - 296/32) 公式中,x 表示第一筆資料記錄的位置(資料表格檔頭記錄的第 8
到第 9 個位元組),296 表示 263(歸屬連結資訊)+ 1(檔頭記錄終止符號)+ 32(第一個欄位子資料記錄),32 是欄位子資料記錄的長度。

http://expert.csdn.net/Expert/topic/2246/2246908.xml?temp=.1026728
wwle 2003-09-16
  • 打赏
  • 举报
回复
我有一本c语言调用dbf文件的阐述,不过不再,找找给你贴出!
sooven 2003-09-15
  • 打赏
  • 举报
回复
http://www.csdn.net/dev/format/data/dbf.htm
http://www.csdn.net/dev/format/data/dbase.htm

仅供参考
qufuluyang 2003-09-15
  • 打赏
  • 举报
回复
帮助里
lz_zxf 2003-09-14
  • 打赏
  • 举报
回复
帮助里就有
dfwxj 2003-09-14
  • 打赏
  • 举报
回复
什么结构资料?


list stru

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧