我在开始做系统时候没有考虑到以后的打包,就把数据库放在了一个固定位置,在程序代码中所引用的数据库的位置都是固定位置。将本软件安装到其他计算机时,还必须将数据库放到那个固定的位置才能正确执行。请问有什么最简单的解决办法,我不想改代码中的地址,因为有很多这个地址,太烦琐。谢谢各位兄弟。

解决方案 »

  1.   

    “把数据库放在了一个固定位置”?难道是Access?用一个文本文件保存数据库路径,打包时把这个文本包含进去。程序中从文本文件中读出路径用全局变量保存使用。
      

  2.   

    ACCESS数据库的话以下这样做会好些:
    1、把数据库文件放入可执行程序所在文件夹内或可执行程序所在文件夹内的一个文件夹内,然后用相对路径引用。
       比如:可执行文件夹在C:\temp,xx.mdb也在这个文件夹内,那么我们写数据库路径时只写数据名"xx.mdb"就可以了。   比如:可执行文件在c:\temp,而数据库文件在temp里的data文件夹下,那么我们写数据库路径时写成"data\xxx.mdb"就可以。
    2、另外把数据库放入可执行程序文件夹内,也可以用app.path来获得数据库的绝对路径:
    dbpath = App.Path & IIf(Len(App.Path) > 3, "\xxx.mdb", "xxx.mdb")