如何在Delphi中訪問DBF數據庫

xBase是全部源自原始dBase數據庫格式(.dbf)的數據庫的通用術語。該列表包括Visual FoxPro、Clipper、dBase III、dBase IV等。這些數據庫被非正式地稱爲dBase克隆,由於它們是dBase的直接後代或模仿者。
數據庫

xBase數據庫將大量格式化數據以結構化形式存儲在.dbf數據文件中。在相似dBase的數據庫中,.dbf文件存儲一個表,其中保留了表描述,字段描述符和記錄。相似dBase的現代數據庫還具備用於大型文本字段(備忘錄)、命令、過程、備份等的文件。ide

有各類各樣的數據庫引擎能夠讀取和操做DBF文件中的數據,可是它們都不瞭解xBase數據庫的全部格式——這些數據庫引擎中的大多數均可以與xBase系列的一種或兩種方言進行交互。與其餘現有解決方案不一樣,UniDAC中的Delphi數據訪問提供程序TDBFUniProvider提供了一種引擎,該引擎能夠理解許多相似dBase的數據庫中的DBF文件。工具

UniDAC是一款通用數據庫訪問組件,提供了多個數據庫的直接訪問,如針對Windows的Delphi, C++Builder, Lazarus (以及 Free Pascal) , Mac OS X, iOS, Android, Linux和64和32位的FreeBSD等等。ui

TDBFUniProvider提供對xBase數據庫的直接訪問,並支持全部dBase本機數據類型(字符、數字、邏輯、數據、備忘錄)。它用做SQL引擎,對數據庫文件執行命令。項目中的Delphi代碼被編譯成可執行文件,不須要任何其餘外部文件便可訪問和操做DBF文件中的數據。spa

用於訪問xBase數據庫文件的UniDAC Delphi組件支持多種數據庫文件格式:dBase III、dBase IV、dBase V、dBase VII、FoxPro二、Visual FoxPro、Clipper、CodeBase、HiPer-Six。除了容許開發人員使用標準的SQL-92語法外,它還提供了一種快速的方法來重建表並刪除已刪除的記錄,以減少數據庫文件的大小。3d

建立示例Delphi應用程序以訪問xBase數據庫orm

咱們將建立一個簡單的Delphi應用程序,該應用程序將以Visual FoxPro格式鏈接到數據庫,並在單擊「顯示」按鈕時顯示錶中的記錄。對象

一、在「工具選項板」中找到TUniConnection、TUniQuery、TUniDataSource、TDBFUniProvider、TDBGrid和TButton組件,並將它們放在表單上。blog

UniDAC使用教程:如何在Delphi中訪問DBF數據庫

二、雙擊表單上的UniConnection1組件。切換到「選項」選項卡,而後將「直接」設置爲True。教程

UniDAC使用教程:如何在Delphi中訪問DBF數據庫

三、返回到「鏈接」選項卡,選擇「DBF」做爲提供程序,而後輸入計算機上Visual FoxPro(或任何其餘xBase數據庫)的路徑。單擊鏈接。若是一切順利,紅色圓圈將變爲綠色。

UniDAC使用教程:如何在Delphi中訪問DBF數據庫

四、在UniDataSource1中,將DataSet屬性設置爲UniQuery1。

UniDAC使用教程:如何在Delphi中訪問DBF數據庫

五、選擇DBGrid1並將DataSource屬性設置爲UniDataSource1。

UniDAC使用教程:如何在Delphi中訪問DBF數據庫

六、選擇UniQuery1組件並將Connection屬性設置爲UniConnection1,而後雙擊該組件並輸入SQL語句。單擊肯定。

UniDAC使用教程:如何在Delphi中訪問DBF數據庫

七、將按鈕的「標題」屬性更改成「在對象檢查器中顯示」。雙擊按鈕,切換到「代碼」選項卡並添加UniQuery1.Open; 到OnClick事件處理程序代碼。

55dbf_delphi_onclick2.png

八、按F9編譯並運行您的應用程序。若是程序編譯沒有錯誤,則應該看到已編譯的表單應用程序。單擊顯示以獲取並查看Visual FoxPro表中的數據。

UniDAC使用教程:如何在Delphi中訪問DBF數據庫

檢索損壞的數據和元數據

xBase方言歷史悠久,.dbf文件中的字段包含不受支持的類型的數據的狀況並不罕見。要解決任何不受支持的數據類型的問題,UniDAC提供了兩個選項:IgnoreDataErrorsIgnoreMetaDataErrors。前一個選項在打開DBF表時強制UniDAC忽略損壞的數據錯誤,然後一個選項使UniDAC忽略元數據錯誤:當兩個選項都設置爲True時,將跳過損壞的數據,並正確地檢索其餘數據。

另外一個功能是當您不徹底瞭解DBF文件的格式時(DBFFormat選項中的dfAuto值),能夠自動肯定xBase數據庫的方言。

支持的目標平臺

UniDAC支持多個目標平臺:您能夠建立一個訪問DBF數據庫的應用程序,用於:

  • Windows,32位和64位

  • macOS,32位和64位

  • iOS,32位和64位

  • Android,32位和64位

  • Linux,32位和64位

相關文章
相關標籤/搜索