MDF连接字符串属性在代码中不起作用
本文关键字:代码 不起作用 属性 连接 字符串 MDF | 更新日期: 2023-09-27 18:27:46
当我在C#中查看MDF文件属性时,我可以看到名为Connection String
的属性,其值为:
Data Source=(LocalDB)'v11.0;AttachDbFilename="C:'Users'itay'Documents'Visual Studio 2013'Projects'Chat'Chat'App_Data'ChatDB.mdf";Integrated Security=True;Connect Timeout=30
当我试图在我的代码中使用这个代码时:
SqlConnection con = new SqlConnection("Data Source=(LocalDB)'v11.0;AttachDbFilename='"C:''Users''itay''Documents''Visual Studio 2013''Projects''Chat''Chat''App_Data''ChatDB.mdf'";Integrated Security=True");
con.Open();
SqlCommand com = new SqlCommand("SELECT * FROM Value", con);
SqlDataReader reader = com.ExecuteReader();
con.Close();
当我尝试使用它时,它抛出:
System.Data.dll中发生类型为"System.Data.SqlClient.SqlException"的异常,但未在用户代码中处理
我尝试了一些在SO中找到的连接字符串格式,但没有成功。
在连接字符串中,您还需要用''v
转义'v
,因为它代表垂直选项卡-请参阅MSDN上的。
'
字符在C#中具有特殊含义。它引入了一个转义序列。要在C#中直接使用该连接字符串作为文字字符串,您需要在其前面加上逐字逐句的字符@
,并删除文字字符串中引入的'
反斜杠的所有加倍
注意,您还可以在数据库文件的路径周围使用一个引号,以消除另一个混淆点
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)'v11.0;AttachDbFilename='C:'Users'itay'Documents'Visual Studio 2013'Projects'Chat'Chat'App_Data'ChatDB.mdf';Integrated Security=True");
如果您喜欢使用实际格式,则还需要将Data Source=(LocalDB)''v11.0;
之间的反斜杠加倍
关于C#字符串、转义序列和逐字文本