我打包好的软件在其他机器上后,不能运行,由于我在数据库的连接字符串中对数据库用的时绝对路径,因此软件安装后,说数据库找不到,在连接写字符串中如果不用绝对路径,则vb默认在vb开发环境的默认路径下,我该怎么办?

解决方案 »

  1.   

    \相对与文件的路径名
    相对路径的解释请看windows相关帮助
      

  2.   

    你用的是access嗎,使用app.path阿,
    將數據庫與AP放在同一目錄下即可.
      

  3.   

    App.Paht & "*.txt"
    这样可以到得当前目录下的文件
      

  4.   

    在程序里写相对路径
    比如:你的数据库(ACCESS)在你的开发目录上。
    例如:
    dim m_MyPath as string 
    m_MyPath = app.path + "\MyBase.mdb"
      

  5.   

    可以用
    app.path & "\DataBase\*.mdb"DataBase 与运用程序路径相同
      

  6.   

    strPath=App.path & "\dbname.mdb"
      

  7.   

    vb的默认路径不是开发环境的路径。
    你的应用编译成EXE后,它就是你的EXE所在的路径。
    如果你非要用绝对路径的话,用一个INI文件一记住这个路径。
      

  8.   

    通过读取配置文件实现(就是ini文件)我就是这么实现的!
      

  9.   

    把你的执行文件与数据放在同一目录就可以了。
    执行时,当程序在绝对路径中找不到文件时,会在自身的目录里找。还可以这样:
    假如你的数据放在了执行文件所在目录的子目录中。
    将 DatabaseName 的属性设为: 数据所在目录名\数据文件名
    注意:在数据所在目录名前不要加“\”。例如:你的执行文件所在目录为:c:\aaaa   数据在c:\aaaa\data\
     DatabaseName 属性设为: data\data2\data.mdb
      

  10.   

    不好意思 最后一行有点小错误,改为
    DatabaseName 属性设为: data\data.mdb
      

  11.   

    正如前边所说的,app.path就表示你程序做在的目录路径,比如app.path & "\dat.txt"就表示和程序放在一起的dat.txt文件。
    但是我发现在程序中如果使用相对路径,比如直接用"\dat.txt",也可以达到上边用样的效果,但是有一点要注意,你打开这个源文件时,不要先打开vb,再从vb里打开程序,那样就出错,要直接双击要开的源文件,这样打开,就没问题,在这样的情况下编译成exe文件,也是没问题的。