各位前辈: 
        我在用Delphi编写数据库程序的时候,编译生成EXE文件,在我台机可以运行,但拿到别人台机,则提示找不到数据库文件,我的数据库文件(mdb)与程序文件(EXE)都是在同一个程序目录中,而且在数据连接属性里设的是相对路径。理论上讲应该是可以找到数据库的,因为在同一目录,请问各位高手有没有什么idea!谢谢
                                                       jackyrong

解决方案 »

  1.   

    你是永什么方式连接的???ado?还是bde?ado就不存在什么问题,bde编译时要打包
      

  2.   

    >>To mrfanghansheng(☆☆☆木鱼☆☆☆) 
    我是用ADO进行连接的
      

  3.   

    我的经验:最好都设成绝对路径,相对路径会出错.你可以用Paramstr[0]来获得程序的所在目录.
      

  4.   

    其实很简单,你的相对路径固化到程序里面以后就成了本地机器的绝对路径。
    比如我的数据库是D:\1.MDB,则固化到程序里面是D:\1.MDB,如果你放到C盘或其他地方就不行。
    强烈建议在启动连接之前改写成这样(如下的GetCurrentdir获取当前目录):
    ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source='+GetCurrentDir+'\DelphiFun.MDB;'+'Mode=Share Deny None;Jet OLEDB:Database Password=gongxingg;Jet OLEDB:SFP=False';
      

  5.   

    我同意 sunware() 的说法:“最好都设成绝对路径,相对路径会出错.你可以用Paramstr[0]来获得程序的所在目录.”以前做的安装文件中出现类似问题,最后就是把程序中的路径改了后才好的。