如果觉得不详细,那搜索一下吧,很多:大家都知道,用DELPHI做数据库虽然方便,但发布时必需同时
分发BDE(Borland公司的32位数据库引擎),全部文件需17兆之巨,如此怎么还能彰显DELPHI的优越性呢?!所以程序员在用DELPHI做数据库时,如何根据实际情况精简BDE是必不可少的一步。
BDE中各文件的具体作用,可以参考BDE32.HELP中Introduction to
Borland Database Engine/Core BDE files 在此只以我作的一个数据库为例谈谈精简BDE的具体步骤。
程序使用PARADOX数据库,用到了TQUERY和TBACHMOVE控件,
BDE文件如下:
blw32.dll 国际语言驱动支持,必需
Bantam.dll 未查到相关解释,缺少会引起BDE初始化错误
idapi32.dll 数据驱动基本函数集,必需
fareast.btl 东方语言驱动程序,使用中文必需
idr20009.dll 错误信息,必需
charset.cvb 字符集转换,如用到CHARSET_GB2312,则必不可少
idbat32.dll 批量移动数据支持(针对TBATHMOVE控件)
idpdx32.dll PARADOX数据库驱动程序
idsql32.dll SQL查询引擎(针对TQUERY控件)
IDAPI.CFG BDE配置文件,存储数据库别名,必不可少
共10个文件,2.3M,ZIP后830K,以前用VFP需要3张软盘的桌面数
据库,现在一盘搞定.
除了拷贝BDE文件外,还要对系统进行一些设置工作,具体程
序如下:
procedure TForm1.FormCreate(Sender: TObject);
var stl:tstringlist;
myrg:tregistry;
i:integer;
path:string;
begin
path:=extractfilepath(application.ExeName); //获得当前
路径;
stl:=tstringlist.Create ;
myrg:=tregistry.Create;
myrg.RootKey :=HKEY_LOCAL_MACHINE;
try
IF NOT myrg.KeyExists(software\Borland) then
begin //检查相应键值以确定BDE是否注册/当前数据库程序
是否初次运行;
showmessage(初次使用,系统将进行必要设置!);
myrg.OpenKey(software\Borland\Database Engine,true);
myrg.WriteString(DLLPATH,path+bde); //写入数据驱动程
序所在目录
myrg.closekey;
myrg.OpenKey(software\Borland\BLW32,true);
myrg.WriteString(BLAPIPATH,path+bde); //写入语言驱动
程序所在目录
myrg.CloseKey;
session.GetAliasNames(stl); //获取已注册的数据库别名列
表
for i:=0 to stl.Count-1 do begin
session.DeleteAlias(stl.Strings[i]); //删除所有别名,
否则无法重新写入
session.SaveConfigFile;
end;
session.AddStandardAlias(hz,path+db\total,paradox);
//注册自己需要的数据库别名
session.SaveConfigFile;
END;
finally
myrg.Free;
stl.Free;
end;
end;
本程序在WIN98下DELPHI4中运行通过.
分发BDE(Borland公司的32位数据库引擎),全部文件需17兆之巨,如此怎么还能彰显DELPHI的优越性呢?!所以程序员在用DELPHI做数据库时,如何根据实际情况精简BDE是必不可少的一步。
BDE中各文件的具体作用,可以参考BDE32.HELP中Introduction to
Borland Database Engine/Core BDE files 在此只以我作的一个数据库为例谈谈精简BDE的具体步骤。
程序使用PARADOX数据库,用到了TQUERY和TBACHMOVE控件,
BDE文件如下:
blw32.dll 国际语言驱动支持,必需
Bantam.dll 未查到相关解释,缺少会引起BDE初始化错误
idapi32.dll 数据驱动基本函数集,必需
fareast.btl 东方语言驱动程序,使用中文必需
idr20009.dll 错误信息,必需
charset.cvb 字符集转换,如用到CHARSET_GB2312,则必不可少
idbat32.dll 批量移动数据支持(针对TBATHMOVE控件)
idpdx32.dll PARADOX数据库驱动程序
idsql32.dll SQL查询引擎(针对TQUERY控件)
IDAPI.CFG BDE配置文件,存储数据库别名,必不可少
共10个文件,2.3M,ZIP后830K,以前用VFP需要3张软盘的桌面数
据库,现在一盘搞定.
除了拷贝BDE文件外,还要对系统进行一些设置工作,具体程
序如下:
procedure TForm1.FormCreate(Sender: TObject);
var stl:tstringlist;
myrg:tregistry;
i:integer;
path:string;
begin
path:=extractfilepath(application.ExeName); //获得当前
路径;
stl:=tstringlist.Create ;
myrg:=tregistry.Create;
myrg.RootKey :=HKEY_LOCAL_MACHINE;
try
IF NOT myrg.KeyExists(software\Borland) then
begin //检查相应键值以确定BDE是否注册/当前数据库程序
是否初次运行;
showmessage(初次使用,系统将进行必要设置!);
myrg.OpenKey(software\Borland\Database Engine,true);
myrg.WriteString(DLLPATH,path+bde); //写入数据驱动程
序所在目录
myrg.closekey;
myrg.OpenKey(software\Borland\BLW32,true);
myrg.WriteString(BLAPIPATH,path+bde); //写入语言驱动
程序所在目录
myrg.CloseKey;
session.GetAliasNames(stl); //获取已注册的数据库别名列
表
for i:=0 to stl.Count-1 do begin
session.DeleteAlias(stl.Strings[i]); //删除所有别名,
否则无法重新写入
session.SaveConfigFile;
end;
session.AddStandardAlias(hz,path+db\total,paradox);
//注册自己需要的数据库别名
session.SaveConfigFile;
END;
finally
myrg.Free;
stl.Free;
end;
end;
本程序在WIN98下DELPHI4中运行通过.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货