在Delphi動態生成定義資料庫 |
|
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
在Delphi動態生成定義資料庫 -------------------------------------------------------------------------------- 在開發通用工資管理等應用資料庫管理系統時,預先定義好資料庫的結構,就不能保證應用系統的通用性。不同的單位需要不同的資料庫,?了減少程式的開發量,並保證程式的通用性,就必須在程式運行中根據實際情況定義所需要的資料庫。 在Delphi開發環境中,定義資料庫通常需要運行Data Base Desktop。在程式運行中使用元件TTable也可以根據需要定義和修改資料庫的結構。 定義標準資料庫
定義資料庫時資料庫文件資訊和資料庫結構資訊是必需的,如資料庫文件的完整路徑,資料庫類型,資料庫的欄位名、類型、長度等。在Delphi程式中可以定義三種標準類型的資料庫,DBASE資料庫、Paradox資料庫、ASCII資料庫。 下面給出的過程已在WIN95Delphi3.0C/S下運行通
過。 procedure ZldcreateTable;
var
zldT:TTable;
begin
zldT:=TTable.Create(Self);
with zldT do
begin
DatabaseName:='DBDEMOS';{預定義的別名資料庫工作區名}
TableName:='ZLDDBASE';{將定義的資料庫名}
TableType:=ttDbase;{資料庫類型,可?ttParadox、ttASCII、ttDbase}
with FieldDefs do{資料庫結構資訊}
begin
Clear;
Add('ZLS',ftInteger,0,false);
Add('ZLD',ftBoolean,0,false);
Add('ZEZ',ftString,10,false);
Add('XL',ftDate,0,false);
{....} //------Add Other Fields Here
end;
with IndexDefs do{索引文件資訊}
begin
Clear;
Add('Primary','ZEZ',[ixPrimary,ixUnique]);
{....} ////------Add Other Indexes Here
end;
CreateTable; //---- dynamically Create Table;
end;
end; 通過以上方法建立資料庫,如果已經存在同名資料庫,將被覆蓋,資料將全部丟失。 當修改一個資料庫的結構時,也可以利用TTable的方法CreateTable。先打開欲修改的資料庫,取得該資料庫的結構資訊,再對其修改,然後用修改後的結構資訊重新建立一個新資料庫,再將原資料庫中相同的列寫入新資料庫中,刪除原資料庫,改新資料庫名?原資料庫名即可。
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |