日期:2014-05-18  浏览次数:20839 次

怎么连接当前文件夹下数据库
我要发布一个小的C#项目,项目自带了access数据库,连接字符串我放在了一个XML文件中,代码如下
C# code
<?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>


现在只能在安装项目时放在指定的文件夹下面,请问有没有什么办法可以解决这个问题,连接数据库时只要在当前安装目录下即可,
我在网上找了这个
C# code
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Application.StartupPath+"\\database\\db.mdb";

但是在XML下报错,Application.StartupPath变红,不识别

------解决方案--------------------
用这个看看AppDomain.CurrentDomain.BaseDirectory

------解决方案--------------------
xml里这样写就行了

C# code
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database\\db.mdb"

------解决方案--------------------
探讨

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=database\\db.mdb"
database是什么?

------解决方案--------------------
如果的连接不成功,着重看这个!
 可以看看,你的mdb 文件是不是 为“database\\db.mdb” ?
------解决方案--------------------
<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的。