❶ 關於DELPHI動態資料庫
在Delphi中動態建立資料庫結構
--------------------------------------------------------------------------------
一、問題的提出
在程序運行過程中動態建立資料庫結構是我們編寫功能通用的資料庫管理系統常見
的問題。通用資料庫管理系統開發的基本思路是:系統允許用戶自行設定管理對象的數據
庫結構,然後通過演算法和編程技巧,在用戶設定完成後動態創建管理對象的資料庫結構和
完成系統功能的一些其它數據,這樣可以滿足不同用戶對管理系統管理項目的不同要求,
進而達到通用的目的。因此,通用資料庫管理系統開發的關鍵是系統能否動態地創建數據
庫結構。我們熟悉的Foxbase+、Foxpro等語言,均提供了動態創建資料庫結構的命令或過
程。
但是,在許多資料和書籍中,沒有介紹用Delphi如何動態建立資料庫結構,給我們開發
一些功能通用的資料庫管理系統帶來了不便。那麼如何在Delphi中動態建立資料庫結構
呢?本文是作者在查閱大量資料,經過反復實踐的基礎上得出的在Delphi中動態創建數據
庫結構的方法。
二、設置Delphi資料庫配置程序
在Delphi中要進行資料庫管理必須先設置好資料庫配置程序BDE,所有對資料庫的操
作,最後都要通過BDE去完成。下面以最常見的Dbase資料庫為例來配置Delphi的資料庫引
擎BDE。
1. 進入Delphi的集成開發環境IDE(Integrated Development Environment),在Dat
abase菜單下選擇Explore,出現SQL Explorer窗體,在Object菜單下選擇BDE Administra
tor。
2. 出現BDE Administrator窗體後在Database頁上選擇Dbase,在Definition頁中將
Type項設為Standard;將Default Driver項設為Dbase;將Path項設為一工作目錄名(如:D
:\MYNAME)。以上過程即為資料庫的別名(Aliases)設置,這在以後Delphi的程序開發過程
中要經常用到。
3. 選擇Configration頁,在Drivers的Native項中選擇Dbase,在Definition頁中將T
ype項設為File;將Langdriver項設為DBASE CHS CP936;將Level項設為5。
4. 完成上述工作後,在Object菜單中選擇Save as Configration,按出現的對話框要
求將以上的設置保存好。至此,資料庫的基本配置工作就完成了,我們就可以進行下面的
工作了。
三、動態創建資料庫結構方法
在Delphi中動態創建資料庫結構有兩種方法。
方法一:使用Table組件的CreateTable方法。步驟如下:
1. 進入Delphi的IDE建立一個新項目文件和新窗體(Form1)單元文件(unit1.pas)。
2. 在Form1上加入Table1、Edit1、Edit2、Button1組件。將Button1組件的Captio
屬性設為『創建』。
3. 用滑鼠雙擊Button1進入Unit1.pas單元文件,在游標處加入下列代碼。
with table1 do
egi
active:=false
databasename:=『dbase'
tablename:=『my.dbf'
tabletype:=ttdbase
fielddefs.clear
fielddefs.add(edit1.text,ftstring,10,false)
fielddefs.add(edit2.text,ftinteger,0,false)
createtable
end
4. 按F9鍵編譯運行,在Edit1處輸入一欄位名稱:ZD1,在Edit2處輸入一欄位名稱:ZD
2,然後點擊"創建"按鈕,程序將在D:\MYNAME目錄中產生一個名為MY.DBF的資料庫文件,用
Database Desktop查看文件結構如下:
FieldName
Type
Size
Dec
ZD1 C 10
ZD2 N 11
方法二:使用Query組件,用結構化查詢語言SQL(Structured Query Language)語句創
建,步驟如下:
1. 同方法一之步驟1。
2. 在Form1窗體中加入Query1、Button1組件,將Query1的Database Name屬性設為『
Dbase』;將Button1組件的Caption屬性設為『創建』。
3. 在Query1的SQL屬性單擊,出現Sting List Editor窗口,在該窗體中輸入以下SQL
語句:
Create Table My(
ZD1 Char(10),
ZD2 Numeric(10,2))
4. 雙擊Button1進入Unit1.pas單元,在游標處加入下列代碼:
Query1.ExecSQL
5. 按F9鍵 編譯運行,在"創建"按鈕處單擊即可產生一個名為MY.DBF的資料庫文件,
存放在D:\MYNAME目錄中,用Database Desktop查看其結構如下:
FieldName Type Size Dec
ZD1 C 10
ZD2 N 10 2
以上所介紹的操作和程序均在Windows98操作系統下,Delphi 3.0 C/S版上調試運行
通過。
❷ 後綴名為cdx、dbf、dwg、fpt、ocarina、ocx、zxm等是什麼文件
CDX是資料庫文件的一種,如VF保存工程時,會生成一個同名的CDX文件
dbf:一種特殊的文件格式!表示資料庫文件,Foxbase,Dbase,Visual FoxPro,等資料庫處理系統所產生的資料庫文件
DWG:是CAD專有格式,一般用AUTOCAD打開。在建築,機械,鋼結構等行業工作的人士應該都知道的。
fpt:沒有聽說過。FTP知道,是文件傳輸協議,網格行業的人員肯定都知道的。
ocarina:沒有遇到過,
ocx:是編程文件的一種,嚴格來講,屬於控制項。如Delphi,VB等軟體中,都會有控制項的概念
zxm:沒有遇到過
❸ 如何用Delphi進行資料庫之間轉換
使用Delhpi可以方便而快速地建立強大的資料庫應用程序,可以和Paradox、dbase、Lo cal InterBase Server、Foxpro及ODBC數據源等多種桌面型資料庫直接配合使用。
資料庫轉換方法
1.所使用的控制項
2.TBatchMove控制項的使用
TBatchMove允許在一組記錄或是整個數據表中執行特種作業,這個控制項的主要用途在於 把數據從伺服器中卸到本地的數據源供分析或進行其他操作。TBatchMove可以在目的地建立 對應於原數據表內容的數據表,自動將列名及數據類型進行適當的對應操作。
TBatchMove兩個特性指明批量移動(Batch Move)操作的源表及目的表。Source指定一個 對應於已有的源數據表的數據集(一個Tquery或Ttable控制項),Destination指明對應於一個數 據庫數據表的Ttable控制項,目的數據表可以是已經存在的也可以是不存在的。
Mode特性指明TBatchMove對象所要做的事情:
我們可以根據batCopy模式,對資料庫類型進行適當的轉換,以下是從dBASE類型到其它類 型之間的轉換結果:
資料庫轉換舉例
現有用Foxbase開發的財務程序中的會計科目資料庫(kjkmk.dbf),系統將升級到Window s環境下開發,資料庫將採用Paradox語言。為了沿用該庫結構和數據,可採用如下方法進行轉 換。
1.Datasource1控制項:
AutoEdit True
DataSet Table1
Enabled True
Name DataSorce1
2.Table1控制項:
DatabaseName cw
Name Table1
Readonly False
TableName KJKMK
TableType udBase
Datasource1控制項和Table1控制項共同定義被轉換的源文件,該文件是在別名為cw里的kjk mk,文件類型為Dbase。
3.BatchMove1控制項:
Destination Table2
Mode balCopy
Name BatchMove1
Sorce Table1
MatchMovel控制項定義轉換類型為Copy以及源文件、目標文件。
4.Datasource2控制項:
AutoEdit True
DataSet Table2
Enabled True
Name DataSorce2
.Table2控制項:
DatabaseName cwdb
Name Table2
Readonly False
TableName KJKMK
TableType uParadox
Datasource2控制項和Table2控制項共同定義轉換後的目標文件,該文件是在別名為cwdb里的 kjkmk,文件類型為Paradox。
6.StringGrid1控制項:
Datasorce Datasorce1
Name StringGridl
StringGridl網格控制項先定義源文件,執行轉換後再定義目標文件,主要用於方便查看。
7.Button1控制項:
OnClck ButtonClck
OndragDrop
Ondragover
OnEnddrag
該控制項有一個OnClick事件,表示執行文件類型轉換。其代碼如下:
procere TForm1.Button1Click(Sender:TObject);
begin
BatchMove1.execute;
end;
經上述方法定義,編譯執行後,即可將kjkmk.dbf文件轉換成kjkmk.db文件,然後就可以用 Database Desktop工具對其進行修改調整。
用此方法還可進行其它任意文件的轉換。