现在我的一个程序的数据库使用了一个ACCESS文件,在连接字符串里面把这个mdb文件的路径写死了
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\FIMCapture\Fim.mdb;Extended Properties=dBASE IV;Jet OLEDB:Database Locking Mode=1;User ID=;Password=
现在我打包的时候把exe文件和数据库mdb文件放在了一起,安装到哪个目录就在什么目录,有没有什么方法得到当前目录,来修改这个连接字符串?

解决方案 »

  1.   

    Path:=ExtractFilePath(Application.ExeName);
      

  2.   

    exe文件和数据库mdb文件放在了一起
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    如果mdb文件和exe文件在同一级目录这样就可以了....Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Fim.mdb;Extended Properties=dBASE IV;Jet OLEDB:Database Locking Mode=1;User ID=;Password=
      

  3.   

    ExtractFilePath(Application.ExeName);
      

  4.   

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Fim.mdb;Extended Properties=dBASE IV;Jet OLEDB:Database Locking Mode=1;User ID=;Password=
    这样写不行啊,我刚试过了 用ExtractFilePath(Application.ExeName)要怎么改这个连接字符串呢~~~
      

  5.   

    conStr:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'Fim.mdb;Extended Properties=dBASE IV;Jet OLEDB:Database Locking Mode=1;User ID=;Password='
      

  6.   

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\Fim.mdb;Extended Properties=dBASE IV;Jet OLEDB:Database Locking Mode=1;User ID=;Password=
    这种写法是数据库与程序同级,
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\date\Fim.mdb;Extended Properties=dBASE IV;Jet OLEDB:Database Locking Mode=1;User ID=;Password=
    这种写法是数据库同级还有个date文件夹.
      

  7.   

    fmForm.mParent := self;
    这是什么意思?
      

  8.   

    fmForm.mParent := self;
    请问各位高手,这句代码是什么意思?
      

  9.   

    format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source= %s ;Extended Properties=dBASE IV;Jet OLEDB:Database Locking Mode=1;User ID=;Password=',[extractpath(application.exename)]);
      

  10.   

    ExtractFilePath(Application.ExeName);