delphi 最吸引人的特點之一就是它的強大的數據庫訪問能力通過database desktop 工具可方便的建立編輯數據庫由於實際原因我們往往需要在程序運行狀態下動態建立某個數據庫
如果你讓用戶用database desktop 工具手工建立數據表那麼你寫的程序將會打大折扣不過你不用擔心delphi完全可以用語言來完成此功能為我們提供方便我在學習和實踐中總結出兩種方法我叫做table法和sql法下面通過簡單的實例來描述動態數據庫建立的過程
一 Table方法
(以建立paradox數據表為例假設庫名為ljhdb)新建一工程文件zhoudfdpr在unit中的uses語句中加入dbdbtables單元
在面板上選取button元件置於form表中雙擊button輸入如下代碼
Procedure TformButtonClick(Sender: Tobject);
var table:ttable; begin table:=ttablecreate(self);
with table do begin active:=false;
tablename:=ljhdb;
tabletype:=ttparadox; with fielddefs do {此方法為ljhdb增加字段} begin clear;
add(yjftdatefalse);
add(zp ftstringfalse); {增加具體的字段名類型}
add(zdmftintegerfalse);
end;
With indexdefs do {此方法為ljhdb增加索引字段} Begin Clear;
Add(yjindexyj[ixprimary]);
end;
createtable;
end;
end;
二sql方法 在面板上選取button元件置於form表中雙擊button輸入如下代碼
Procedure TformButtonClick(Sender: Tobject);
var table:tquery; begin table:=tquerycreate(self);
with table do begin with sql do begin clear;
add(create table ljhdb);
add((yj date); {注意引號中的(}
add(zp char());
add(zdm int)); {注意引號中的 )}
end;
execsql;
sqlclear;
sqladd(create index yj on ljhdb (yj)); {此sql語句為ljhdb增加索引字段}
execsql;
end;
end;
編譯此程序即可 * 需要注意的是用sql方法建庫如果庫已存在會產生錯誤提示用table方法則不需考慮
From:http://tw.wingwit.com/Article/program/Delphi/201311/24746.html