Delphi中数据文件路径的管理-Delphi-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝29
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:210回复:0

Delphi中数据文件路径的管理

楼主#
更多 发布于:2016-06-17 23:37
 elphi中的Table控件(Component)和Query控件都有一个DatabaseName特点。能够用DatabaseName特点来指定该控件所引用的数据表的途径。有两种办法可以为特点DatabaseName设置途径:榜首种办法是直接输入数据表地点途径,另一种办法是运用数据库别号(Alias)。在Delphi中,数据库别号是在数据库引擎(BDE)中树立的,一个别号对应一个文件途径。能够这么为别号下定义:别号是对文件途径的映射,是文件途径的简称。因而,在特点DatabaseName中运用数据库别号和运用文件途径本质都是相同的,它们都作为查找数据表的根(Root)途径。可是,在数据库运用程序的规划中,假如涉及到的Table控件和Query控件对比多的话,那么运用别号来引用文件途径就非常高效、便利,而且不容易出差错。原因是显而易见的:一方面,别号能够在列表中直接选择而不用像文件途径那样从键盘上输入;另一方面,别号能够设置得很简略,即便从键盘录入也对比便利。因而,笔者主张要多运用数据库别号而少运用文件途径。
别的,在Table控件的特点TableName和Query控件的SQL语句中,都能够包含数据表的途径信息。由于Query控件和Table控件的状况非常相似,所以下面只对Table控件进行阐明。这种途径信息既能够是一个完好的途径,也能够是一个完好途径的后边部分。比方对Table控件的特点TableName赋值时,能够把C:\Delphi\Demos\Data\CustomerDB赋给它,也能够把Data\CustomerDB赋给它。
在实践运用中,咱们能够把Table控件的特点DatabaseName和特点TableName结合起来运用。把特点DatabaseName中的途径作为根途径,把特点TableName中的不完好途径(假如有的话)作为子途径。把这两个途径结合起来即是拜访到数据表的一个完好的途径。比方,假设在途径C:\Delphi\Demos\Data下存在数据表CustomerDB,把Table控件的特点DatabaseName指定为C:\Delphi\Demos\Data,然后把特点TableName指定为CustomerDB,就能够拜访数据表CustomerDB了。假如特点DatabaseName指定为C:\Delphi\Demos,要想拜访数据表CustomerDB,只要把特点TableName指定为data\CustomerDB就行了。有时候这二者并不一起起作用。例如,假如特点TableName中包含了完好的途径,那么特点DatabaseName中的途径就不起任何作用了。又如,假如特点DatabaseName中没有指定任何途径,而特点TableName中的途径又是不完好的,如Data\CustomerDB,那么运用程序运行时的当时途径就作为根途径。为了便于程序移植,
哂辛降憬ㄒ椋?
1、通常,只需要在特点DatabaseName中指定数据表的途径,而在特点TableName中不用包含途径信息。
2、通常状况下,不要在特点TableName中指定完好的途径。
下面就来介绍一下怎么进步数据库运用程序的移植性。
数据库运用程序的移植是一个主要的疑问。由于在数据库运用程序中要拜访数据库或数据表,就要涉及到数据文件的途径。通常来说,数据库运用程序开发完成后要移植到其它机器上运用,因而数据库运用程序运行时的数据文件的途径很可能和开发时的不一样。所以有必要对数据文件的途径进行有用的办理,以便于体系的移植。下面介绍三种办理数据文件途径的办法。
1、把数据文件树立在运用程序地点目录的子目录下。详细进程为:
(1)为了规划起来便利,在规划时能够运用数据库别号,且该数据库别号指向运用程序地点途径。把子途径名加上数据表名字今后赋给Table控件的特点TableName。
(2)在发行运用程序前,把一切的Table控件或Query控件的特点Active都置为False,删去特点DatabaseName中的一切字符(即置空)。
在缺省状况下,运用程序运行时的当时目录是运用程序地点的目录。假如在运用程序中没有调用ChDir等进程改动当时目录的话,那么就不用履行第三步,否则进行第三步的处理。
(3)在运用到Table控件和/或Query控件的窗体的创立(OnCreate)事情中,把运用程序地点途径赋给该窗体中的每一个Table控件和Query控件。详细的方式如下所示:
Table目标(或Query目标)?DatabaseName:=ExtractFilePath(Application?ExeName);
2、运用配置文件寄存数据库途径
此办法是在运用体系装置或榜首次运行时把数据库途径信息写入配置文件,今后运行时把途径信息从配置文件中读出。配置文件的读写运用类TIniFile(Delphi1.0和Delphi3.0)、类TRegIniFile(Delphi
3.0/4.0)和类TRegistry(Delphi3.0/4.0)所供给的办法来完成。各个办法详细的用法请查阅Delphi联机帮助。本办法的基本思路为:
(1)为了规划便利,在规划时能够运用数据库别号。
(2)同1的过程(2),但有必要进行第三步的处理。
(3)同1的过程(3)相似。即,在窗体的创立事情中把数据库途径赋给该窗体中的每一个Table控件和Query控件,用方式化言语描绘如下:
Table目标(或Query目标)?DatabaseName:=配置文件记载中的数据库途径。
3、运用数据库别号寄存数据库途径
在规划时运用数据库别号。在运用体系装置或榜首次运行时运用体系目标Session在BDE中树立与规划时相同的别号,使别号指向相应的数据库途径。下面的代码阐明了怎么树立名字为“FDB”的别号,它的数据库途径为d:\test,数据库类型为Paradox。
Session.ConfigMode:=cmAll;
Session.AddStandardAlias(′FDB′,′d:\test′,′PARADOX′);
Session.SaveConfigFile; {保留新树立的别号}
注:在Delphi1.0中Session目标不具有第三种办法中所用到的特点和办法。以上三行代码在Delphi3.0/4.0下调试经过。
从上面的评论能够看出,办法三完成起来最简略,其次是办法一,最终是办法二。笔者以为,假如运用体系是用Delphi3.0/4.0开发的,那么应尽量运用办法三。



优质IT资源分享社区为你提供此文。
本站有大量优质Delphi教程视频,资料等资源,包含Delphi基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。
Delphi教程视频
优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客