下载本文示例代码
p align="JUSTIFY"> 在网上看到一篇文章《精简DELPHI数据库系统》,本人依实际操作经验,觉得其文小有疏漏,有必要在此加以补充。
大家都知道,用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 :p>
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中运行通过.
p align="JUSTIFY"> 在网上看到一篇文章《精简DELPHI数据库系统》,本人依实际操作经验,觉得其文小有疏漏,有必要在此加以补充。
大家都知道,用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 :p>
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中运行通过.
下载本文示例代码
精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充精简DELPHI数据库系统的补充