///////相对路径问题/////// 送分啦,100分哦!!!

goincsdn 2003-08-29 07:55:14
在我的F盘用delph7编写一个数据库程序,使用access数据库.
编译后复制到其他盘上运行时他还是到F盘调数据,
我的问题是:如何让可执行文件在自己所在的路径下调用数据库
(也就是如何在delph中使用相对路径)
...全文
71 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
huojiehai 2003-08-30
  • 打赏
  • 举报
回复
如果你的程序和Access.mdb在同一目录下,相对路径就是Access.mdb
如果还有子目录,就是 "子目录\Access.mdb" 如"data\Access.mdb"就行了
ly_liuyang 2003-08-30
  • 打赏
  • 举报
回复
ExtractFilePath(ParamStr(0))+'\Access.mdb'
zousoft 2003-08-30
  • 打赏
  • 举报
回复
我觉得楼主问题不是如何获得delphi工作路径,而是在连接access数据库时就应该使用相对路径。这样以后只要数据库放在程序所在路径下,就可以读取它。而不用将客户的路径模拟的和你的一模一样,程序中也不用再做任何路径设置。

编程时先把程序保存在某个目录下(例如f:\test),再将数据库文件考到相应子目录下(例如f:\test\Data),设置ADOConnection的ConnectionString,在数据链接属性的连接页的3.将初始化目录设为.\Data\test.mdb,测试连接成功。发布时,只要保证程序与数据库间相对路径不改变就行了。
cgh1970 2003-08-30
  • 打赏
  • 举报
回复
sPath := ExtractFilePath(Application.ExeName)+'Datas\Datas.mdb';
chl_ccssddnn 2003-08-29
  • 打赏
  • 举报
回复
getcurrentdir()程序当前的路径

extractfilepath(application.exename);应用程序所在的目录
cnssk 2003-08-29
  • 打赏
  • 举报
回复
同一楼上各位,还有
ExtractFilePath(ParamStr(0)) //当前程序路径
knock 2003-08-29
  • 打赏
  • 举报
回复
假如数据库在你的执行文件目录的DB子目录下,则
var sPath : string;
sPath := ExtractFilePath(Application.ExeName); //当前程序路径
sPath:=sPath+'DB\';

这时,sPath就是你的数据库所在目录


DJ_KK 2003-08-29
  • 打赏
  • 举报
回复
这样的问题转移PC也回一样
lilyy 2003-08-29
  • 打赏
  • 举报
回复
可能是没那个环境了所以又回到“熟悉”的环境下了
Drate 2003-08-29
  • 打赏
  • 举报
回复
ShowMessage(ExtractFilePath(Application.ExeName));
BES 2003-08-29
  • 打赏
  • 举报
回复
var sPath string;

sPath := ExtractFilePath(Application.ExeName); //当前程序路径

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧