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/Debug
或bin/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
希望这可以帮助。