delphi 最吸引人的特点之一就是它的强大的数据库访问能力,通过database desktop 工具可方便的建立、编辑数据库。由于实际原因我们往往需要在程序运行状态下动态建立某个数据库。 如果你让用户用database desktop 工具手工建立数据表那么你写的程序将会打大折扣,不过你不用担心delphi完全可以用语言来完成此功能,为我们提供方便。我在学习和实践中总结出两种方法,我叫做table法和sql法。下面通过简单的实例来描述动态数据库建立的过程。 一、 Table方法: 1、(以建立paradox数据表为例假设库名为ljh.db)。新建一工程文件zhoudf.dpr.在unit1中的uses语句中加入db,dbtables单元。 2、在面板上选取button元件置于form1表中,双击button1输入如下代码。 Procedure Tform1.Button2Click(Sender: Tobject); var table1:ttable; begin table1:=ttable.create(self); with table1 do begin active:=false; tablename:=''''ljh.db''''; tabletype:=ttparadox; with fielddefs do {此方法为ljh.db增加字段} begin clear; add(''''yj'''',ftdate,0,false); add(''''zp'''', ftstring,10,false); {增加具体的字段名、类型} add(''''zdm'''',ftinteger,0,false); end; With indexdefs do {此方法为ljh.db增加索引字段} Begin Clear; Add(''''yjindex'''',''''yj'''',[ixprimary]); end; createtable; end; end; 二、sql方法: 在面板上选取button元件置于form1表中,双击button2输入如下代码。 Procedure Tform1.Button2Click(Sender: Tobject); var table2:tquery; begin table2:=tquery.create(self); with table2 do begin with sql do begin clear; add(''''create table "ljh.db"''''); add(''''(yj date,''''); {注意引号中的‘(’} add(''''zp char(10),''''); add(''''zdm int)''''); {注意引号中的 '''')''''} end; execsql; sql.clear; sql.add(''''create index yj on "ljh.db" (yj)''''); {此sql语句为ljh.db增加索引字段} execsql; end; end; * 编译此程序即可。 * 需要注意的是用sql方法建库如果库已存在会产生错误提示,用table方法则不需考虑。
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18