2009-12-05 107 views
1

如何用delphi生成DBF文件?生成DBF文件

更多信息:

我需要一個可移植的數據庫在一個隨身碟

來看,我不知道,如果DBF是更好的soluttion。

我喜歡MySQL,但很難找到一個便攜版本

我使用XML在這個時候,但我不知道如何做一個查詢。

回答

3

TDBF似乎是最常用的(並且仍保持)包之一:

http://tdbf.sourceforge.net/

+0

確實還在使用(自己在FreePascal中使用它),但顯然維護者已經放棄了它。見例如http://bugs.freepascal.org/view.php?id=19961 – reiniero 2011-11-01 11:10:13

1

未處理的年份!
根據您使用的Delphi版本和您想要執行的操作,您可以使用BDE或查找一些直接讀取/寫入DBF本機文件格式的專用組件。

1

雖然我沒有使用它,但有一個組件jdDbf似乎是最近更新,似乎它會工作。需要注意的是,Dbf格式有許多特點,但是大多數差異似乎都在索引文件中,所以如果您需要將其與另一個系統一起使用,則可能需要重建它們。

對於在USB驅動器上運行良好的嵌入式數據庫,我會看看SQLite。有一個德爾福執行DISQLite3其中有一個免費和專業版本,將運作良好,並強烈建議。目前有很多商業質量計劃正在使用它,其中包括FeedDemon等。

1

哇,我很驚訝這個網址仍然有效!

如果你想創建一個DBF與BDE API,你可以在這裏使用的技術: http://info.borland.com/devsupport/bde/bdeapiex/dbicreatetable.html

但是,這取決於你將擁有數據集的大小,這聽起來像一個單用戶應用程序,它可以很好地處理「MyBase」文件 - TClientDataSet使用的文件的另一個名稱。您可以通過設置TClientDataSet.FileName屬性將其保存爲XML或二進制(CDS)格式,該屬性將用於讀取和寫入數據集。你甚至可以用這個創建嵌套數據集。

如果您想擁有最高效的單用戶模式,請關閉TClientDataSet上的ChangeLog。

procedure TFormCDSDataBug.ButtonOpenClick(Sender: TObject); 
begin 
    ClientDataSet1.FileName := ExtractFilePath(Application.ExeName) + 'MyData.cds'; 
    ClientDataSet1.LogChanges := False; 
    ClientDataSet1.Open; 
end; 
3

如果您打開替代格式,我強烈建議您檢查嵌入Firebird。我敢肯定,我在兩年前作爲一個實驗加載了我的數據庫和我的應用程序在閃存驅動器上,並且運行良好。我堅持DBF文件很長一段時間,但一旦我切換,我永遠不會回去。如果您想嘗試一下,請考慮使用DBExpress和Interbase驅動程序。雖然它沒有官方支持,但我還沒有發現任何不兼容。對於可視化管理工具,請獲取IBExpert的個人版。

+0

使用SQLite將是另一個不錯的選擇。數據庫直接編譯到可執行文件中。所有你必須部署的exe和db文件,不需要安裝 – 2009-12-05 05:58:03

+0

+1 for SQLite - 它正在成爲嵌入式數據庫的事實標準.. – 2009-12-07 17:24:16