程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 在Delphi中使用DBF數據(2)

在Delphi中使用DBF數據(2)

編輯:Delphi

Paradox 確保從DBF備注字段轉換來的數值是文本格式,否則如含有其他類型的數據,就應該使用Add功能添加該備注字段到相應的Paradox BLOB類型字段中。

同樣,也可以將Paradox數據庫表轉換成DBF格式,其字段類型將按參照表2自動地轉化。如果生成的DBF不含有索引文件、浮點類型字段和備注字段,則Database Desktop 將產生一個dBASE III數據庫表;如果生成的DBF表含有OLE或二進制字段類型,則Database Desktop 將產生Windows的DBF數據庫表;否則將生成一個DBase IV數據庫表。

表2:

-------------------------------------------------

在Paradox中的字段類型 轉換成DBF字段類型 備注

------------------------------------------------

Alpha C
Number N(20.4)
Money N(20.4)
Short N(6.0)
Long Integer N(11.0)
BCD N(20.4)
Date D
Time C(8)
Timestamp C(30)
Memo Memo
Formatted Memo Memo 格式丟失
Graphic Binary
OLE OLE
Logical Logical
Autoincrement Number
Binary Memo 不能顯示數據
Bytes Memo 不能顯示數據

2、使用數據管道Datapump --Delphi提供的輔助工具之一

用數據管道的移動功能可以實現DBF數據庫表轉換成Paradox的數據,其操作過程如下:

1)使用Borland數據庫引擎BDE,為源數據庫和目標數據庫各建立一個別名;

2)啟動數據管道Data Pump,在其向導程序中指定源數據庫的別名或路徑;

3)指定目標數據庫的別名;

4)從源數據庫中選擇要移動的數據表(可以選擇一個或多個),這裡我們選擇student.dbf;

5)通過按鈕"Modify Mapping Information for Selected Item",修改數據表的結構信息,以適應目標數據表的需求。當選擇此按鈕,進入"Modify FIElds"對話框,從而可以逐一選擇DBF數據表的字段名,並修改成所需的Paradox 數據類型,以及目標數據庫中不支持的字段類型、索引和數據的完整性等。

6)單擊"Upsize"按鈕,使DBF數據表移動到Paradox 。

7)浏覽數據移動結果,若有不滿意之處,可以在目標數據表中直接修改;或者觀察"Report"對話框顯示的移動過程的詳細記載,若滿足需求,擊"Write a copy of this report to file"按鈕,輸入文件名student.db而保存轉換的結果。

除了DBF和Paradox 數據之外,Data Pump也可以應用到其他的PC數據庫或SQL Server數據庫之間的轉換。

3、使用Delphi數據訪問部件(Data Access)中的BatchMove控件 BatchMove控件具有對成批的記錄、整個數據庫表進行移動、拷貝和刪除操作,但是它不能復制源數據文件的索引和糾錯規則等。將DBF 數據庫轉換成Paradox的數據表操作過程如下:

1)在Database Desktop 中建立Paradox 數據表student.db 的表結構,使其字段順序等與DBF格式的student.dbf相對應。

2)在Delphi數據訪問部件Data Access中選擇兩個控件Table,並分別將Table1和Table2連接到源數據文件student.dbf 和目標文件student.db。

3)在Delphi數據訪問部件Data Access中選擇控件BatchMove放在一個Form上。

4)將BatchMove的Mode屬性設置為batCopy(功能:復制源文件數據到目標文件中)。

5)設置Source 屬性為Table1,Destination屬性為 Table2。

6)用鼠標右擊控件BatchMove,選擇彈出式菜單中的"Execute"項,此時,執行復制功能,即將DBF數據庫轉換成Paradox 數據表。

以上僅向同仁交流我在Delphi編程中的一點體會,且希望在編程過程中互通經驗,共振我國軟件之興。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved