我打包时做了一个快捷方式,通过快捷方式,可以打开主程序,但是找不到数据库,提示:找不到文件c:\Documents and Setting\user\gps.mdb
访程序用delphi的ADO连接ACCESS。

解决方案 »

  1.   

    在程序中用相对路径来访问数据库,看样子你是用ADO访问MDB文件,给你一个我写的单元
    //设置连接与数据库路径unit SetDbPath;interfaceuses
      ADODB,forms,Sysutils,Dialogs;procedure SetConnection(MyAdoconnct:TADOConnection);implementationprocedure SetConnection(MyAdoconnct:TADOConnection);
    var
      ConnStr,DBPath:String;
    Begin
        DBPath:=ExtractFilePath(Application.ExeName)+'dat.mdb;';
        ConnStr:='Provider=Microsoft.Jet.OLEDB.4.0;'
          + 'User ID=Admin;Password=;Data Source='
          + DBPath
          + 'Persist Security Info=False;'
          + 'Jet OLEDB:System database="";'
          + 'Jet OLEDB:Registry Path="";'
          + 'Jet OLEDB:Database Password="";'
          + 'Jet OLEDB:Engine Type=5;'
          + 'Jet OLEDB:Database Locking Mode=1;'
          + 'Jet OLEDB:Global Partial Bulk Ops=2;'
          + 'Jet OLEDB:Global Bulk Transactions=1;'
          + 'Jet OLEDB:New Database Password="";'
          + 'Jet OLEDB:Create System Database=False;'
          + 'Jet OLEDB:Encrypt Database=False;'
          + 'Jet OLEDB:Compact Without Replica Repair=True;'
          + 'Jet OLEDB:SFP=False';
        with MyAdoconnct do   
          begin
            Close;
            ConnectionString:=ConnStr;
            LoginPrompt:=False;
            Open;
          end;
    end;
    end.
      

  2.   

    有可能是打包时,不支持长文件名.c:\Documents and Setting\user\gps.mdb有可能变成了,c:\docume~1\user\gps.mdb
      

  3.   

    楼主看看快捷方式的属性中''起始位置''那一栏和''目标''那一栏是不是都对应了文件夹和EXE可执行文件路径,起始位置的地方应该对应你的可执行文件的目录路径,目标对应你的可执行文件的路径。如果是这里有问题的话要在WISE中的脚本中改正确再编译。