精简DELPHI数据库系统的补充

2008-04-09 04:17:14来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  在网上看到一篇文章《精简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中运行通过.

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:定制任务栏上的系统菜单

下一篇:在DELPHI程序中动态设置ODBC数据源