我在主表单使用了一个adoconnetion控件,使用的是Microsoft.Jet.OLEDB.4.0连接到access数据库,库在D:\ywm\dbf下,如果安装在d:\则客户电脑中d盘下有ywm目录,在ywm下有执行文件和dbf\**.mdb文件,运行正常,但如果客户没有D盘的话,怎么办?可以做成可以选择安装的吗?并且要运行正常

解决方案 »

  1.   

    同意楼上的。
    主要要在程序中实现,动态设置ADOCONNECTION的连接字符串。
      

  2.   

    ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=' +
        ExtractFilePath(Application.ExeName) + 'dbf\**.mdb;' + //数据库名
        'Mode=ReadWrite;Extended Properties="";' +
        'Jet OLEDB:System database="";' +
        'Jet OLEDB:Registry Path="";' +
        'Jet OLEDB:Database Password=aaaa;' +  //密码
        '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:Don''t Copy Locale on Compact=False;' +
        'Jet OLEDB:Compact Without Replica Repair=False;' +
        'Jet OLEDB:SFP=False';
      

  3.   

    可以和可执行文件放在同一个目录下,根据可执行文件的目录来找Access数据库。
    str := ExtractFilePath(Application.ExeName);
    返回的是可执行文件的绝对目录