Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16495247
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:46:49

下载本文示例代码
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数据库系统的补充
阅读(135) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~