App.Config连接字符串

在我的Windows窗体中,我在app.config中有连接字符串

          

在所有类中,我使用以下代码连接到数据库。

 string connString = ConfigurationManager.ConnectionStrings["Database"].ConnectionString; 

但它没有连接到数据库。

有人可以指出错误。

但是当我在不使用app.config的情况下使用此代码时,它可以正常工作。

  string connString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = C:\\Users\\Amrit\\Desktop\\Database.accdb; Persist Security Info = False;"; 

如何使app.config连接字符串工作..

你可以这样做

      

然后使用ConfigurationSettings.AppSettings["ConnectionString"];

它(从评论中)接收到您在这两个连接字符串中定位两个差异数据库文件。 第一个位于项目的App_Data文件夹中,第二个位于桌面上。

每次在VS中启动项目时, App_Data文件夹中的文件都会被复制到输出文件夹( bin/Debugbin/Release for WinForms项目)。 它会覆盖文件的先前内容,因此每次从输出文件夹中的App_Data文件夹获得文件的新副本时。 要找到答案,请运行程序并执行一些插入操作。 然后关闭程序并在输出文件夹中打开数据库文件(而不是在项目App_Data )。

发生这种情况是因为您已将数据库文件的“ Copy to Output Directory属性设置为“ Copy always

你需要设置DataDirectory。

然后,您可以在Global.ascx.cs中的Application_Start中设置路径

 AppDomain.CurrentDomain.SetData("DataDirectory", "C:\Users\Amrit\Desktop"); 

https://stackoverflow.com/a/1409378/2745294

https://stackoverflow.com/a/6708279/2745294

希望这可以帮助。