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方法则不需考虑