Provider=MSDASQL.1;Extended Properties="Driver={Microsoft Visual Foxpro Driver};UID=;PWD=;SourceDB=d:\datebase;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=;"这个怎么改成相对路径呀

解决方案 »

  1.   

    比如你的exe程序和数据库在同一个目录下
    相对exe来说,数据库的路径为 ..\database
    ..\ 表示上层目录    ..\..\表示上层目录的再上一层目录
      

  2.   

    用ExtractFilePath(paramstr(0))就可以取得程序运行的当行路径了!
      

  3.   

    ExtractFilePath(paramstr(0)) paramstr(0) 是什么意思 啊
      

  4.   

    ExtractFilePath( Application.ExeName) 
    可以取到你程序的路径,把数据库放在他的统计目录下就可以表示为ExtractFilePath( Application.ExeName) +Database
      

  5.   

    在Delphi中,调用函数ParamStr(0)可以取得可执行文件的完整路径信息(工作路径加可执行文件名),再调用ExtractFileDir或ExtractFilePath函数即可提取出应用程序工作目录或路径。
    例如你的程序在d:\abc\abc.exe
    ExtractFileDir(ParamStr(0));  =d:\abc
    ExtractFilePath(ParamStr(0)); =d:\abc\
      

  6.   

    一般的路径都是用extractfilepath(application.exename)来取出你的可执行文件的目录为根目录,像其它的一些如ini文件,数据文件都放在此目录下,这样你的程序才能访问到。
      

  7.   

    procedure TfmMain.FormCreate(Sender: TObject);
    var syspath:string;
    begin
      SysPath := ExtractFilePath(paramstr(0));
      ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + SysPath + '\Data\Temp.rar;Persist Security Info=False';
    end;//我一直就是这样用的!无有问题啊!