C#处理SQL Server数据库。
数据库文件.mdf放在bin同级目录的data文件夹下,例如: E:\Program1\Program1\data\test.mdf
连接数据库:
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[databasename].ConnectionString; SqlConnection dbCn = new SqlConnection(connectionString); dbCn.Open();
App.cofig设置:
<configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <connectionStrings> <add name="test" connectionString="Data Source=(LocalDb)\v11.0; Initial Catalog=test; Integrated Security=SSPI; AttachDBFilename=|DataDirectory|\data\test.mdf" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
问题,有时候代码可以正常运行,有时候连接数据库出错,不能找到mdf文件。原因是有时候附加数据库的路径会变成E:\Program1\Program1\bin\Debug\data\test.mdf
Stack Overflow上有人说,Visual Studio debugger 使用debug 文件夹(http://stackoverflow.com/questions/12266924/how-do-i-read-the-current-path-of-datadirectory-from-config-settings)
但是我确实大部分程序可以正常运行,只是个别程序出错,求解析一下。谢谢!
已解决。
Mark一下,可以运行的是输出路径bin\Debug\更改为了.\