我从前学过VB,知道设置数据库的相对路径:"Data Source=" + App.Path + "\test.mdb"就可以了。我现在学习DELPHI7,在数据库的应用中还是遇到这个“相对路径”的问题。
  我在网上找了一些文章,语焉不详,什么:application.path + '\test.db',试过不行啊。
  我想问:
  如果我的数据文件在TEST\test.db,这个TEST文件夹所在的盘符应当是用户安装时设置的,我在定程序时,怎样才能设置好这个路径?
  谢谢!

解决方案 »

  1.   

    先用:
    ExtractFilePath(ParamStr(0))获得当前可执行文件的路径,后边加上数据库的相对路径即可,如:ExtractFilePath(ParamStr(0))+'Test\Test.db'
      

  2.   

    ExtractFilePath(Application.ExeName) + 'Test\Test.db';我想这个你更容易记住。
      

  3.   

    ExtractFilePath(ParamStr(0))+'Test\Test.db'
    就行了
      

  4.   

    ExtractFilePath(Application.ExeName) + 'test.mdb'
      

  5.   

    Extractfilepath(application.exename)+'\'+你的数据库
      

  6.   

    以上方法都不行,设置后在BDE Administrator里对数据库TEST的“PATH”进行分别试验,每个方法都不能使TTable控件的“Active”变成Ture,这样数据链接就没有办法成功。
      请问各位老师平时是怎样做这个相对路径的?谢谢!
      

  7.   

    ExtractFilePath(ParamStr(0))+'Test\Test.db'
      

  8.   

    请问上楼老师,这一句Extractfilepath(application.exename)+'\'+你的数据库,那个exename是不是要换成我的打包程序中的那个Project2.exe?还有,这个Extractfilepath是写什么路径?我是个新手
      谢谢大家!
      

  9.   

    application.exename就是指的程序本身的名字
    你可以showmessage(Extractfilepath(application.exename))一下就知道了
      

  10.   

    我的意思是,以上方法的使用都不出现出错提示,但就是在表格TDBGrid里看不到绝对路径设置时的数据表test.db的内容。  以上相对路径的的设置方法我是用在BDE Administrator里对数据库TEST的“PATH”里,不知道各位老师指在什么地方设置它?我对写程序还不明白。DELPHI7的程序写法,与VB不一样,好象没有VB的容易理解。比如,我要在窗体开始是就加入这个TEST数据库,在程序哪个里面写呢?请复制一段代码给我学学吧。
      

  11.   

    不用写,只需要相对于 exe 的路径
    例如程序 Project1.exe 同文件夹有 a.mdb
    直接写 a.mdb