在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

n属性设为‘创建’。

3. 用鼠标双击Button1进入Unit1.pas单元文件,在光标处加入下列代码。

with table1 do

begin

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版上调试运行

通过。