我要发布一个小的C#项目,项目自带了access数据库,连接字符串我放在了一个XML文件中,代码如下<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <!--<add name="connString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NetBarMIS\DataBase\NetBarMIS.dll;Jet OLEDB:Database Password=529712" providerName="System.Data.OleDb"/>-->
    <add name="connString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source =D:\NetBarMIS\DataBase\NetBarMIS.dll;Jet OLEDB:Database Password=111111" providerName="System.Data.OleDb"/>
  </connectionStrings>
</configuration>现在只能在安装项目时放在指定的文件夹下面,请问有没有什么办法可以解决这个问题,连接数据库时只要在当前安装目录下即可,
我在网上找了这个"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Application.StartupPath+"\\database\\db.mdb";
但是在XML下报错,Application.StartupPath变红,不识别

解决方案 »

  1.   

    用这个看看AppDomain.CurrentDomain.BaseDirectory
      

  2.   

    xml里这样写就行了"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database\\db.mdb"
      

  3.   


     指的是数据源,即access 文件的路径+ 文件名!
      

  4.   

    如果的连接不成功,着重看这个!
     可以看看,你的mdb 文件是不是 为“database\\db.mdb” ?
      

  5.   

    <add name="onnString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Data\DemoNew.db;Persist Security Info=True" providerName="System.Data.OleDb"/>|DataDirectory|是应用程序文件夹,上面的连接是放在应用程序文件夹下Data文件夹下的,如果你直接放在应用程序文件夹下,去掉"\Data"就可以,我上面是连接Access97的。