数据库路径问题
我用的是paradox数据库,在操作时碰到这样一个问题:
才操作过程中,我用了FileListBox控件,对文件进行了操作,这样就进入了非执行文件所在的目录,当我再对数据库操作时,系统报错说找不到数据库文件。系统是到当前路径的相对路径下找,肯定找不到。对了,我用的是database+datasource+table+query几个控件的数据模块组合。各位大哥,该如何解决这个问题?
问题点数:20、回复次数:4Top
1 楼hopelhs(映日荷花)回复于 2002-12-09 16:04:20 得分 20
你先在别名里把你的数据库路径设好(BDE->Path)Top
2 楼zengyh(zeng)回复于 2002-12-09 16:13:51 得分 0
我已经设置好了呀,否则数据库也不会用起来。
虽然这个路径设置了,但应用程序在运行的时候,感觉他还是将数据库的路径转化为应用程序的相对路径,当应用程序运行时路径改变,就找不到数据库了。比如:
数据库路径 d:\project\data
应用程序路径 d:\project
感觉运行后运行程序找数据库路径为.\data
当我在程序运行后调用了DirectoryListBox和FileListBox控件,比如读取一文件,该文件在d:\project\file 目录下,关闭后,当前路径为
d:\project\file,此时,我再对数据库操作,报错:不能找到数据库文件在.\data目录下。
老兄,我现在只能把对文件操作后用chdir(ExtractFilePath(Application->ExeName).c_str())又改到d:\project目录。
有更好的办法吗?Top
3 楼hopelhs(映日荷花)回复于 2002-12-09 16:39:20 得分 0
感觉上只要把BDE设置好了并保存了,并且你的数据库后来又没移动到别的目录而你原来的目录又存在,那么通过BDE打开数据库是没问题的,除非你修改了BDE的配置对BDE做了刷新,BDE的路径和应用程序的路径无关,你跟综一下你的程序.Top
4 楼zengyh(zeng)回复于 2002-12-09 17:22:56 得分 0
哦,确实这样,不好意思,我搞错了,原来我是设定了路径,但是后来我做InstallShield后,系统自动把路径改成相对路径了。对了,按道理是不是相对路径?如果我做了InstallShield,不可能用绝对路径呀,那样根本连数据库都找不到。安装到别的机器也就没任何意义了,对吗?
上面这位老兄,你有什么经验能告诉我吗?就是关于系统安装发面的问题。Top




