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編程中的一點體會,且希望在編程過程中互通經驗,共振我國軟件之興。