C# VS 2015中的连接字符串

C# VS 2015中的连接字符串,c#,C#,如果这是一个非常简单的问题,很抱歉,但我发誓我已经a)盯着它看了几天,b)试着用谷歌搜索答案 我使用的是Visual Studio 2015,我添加了一个名为Investments 4的数据库。我可以使用表适配器和数据网格连接到它并显示数据 在程序的另一部分中,我正在探索SQL命令,并尝试手动打开连接,然后读取数据。我正在尝试设置一个新的SqlConnection,我通过右键单击服务器资源管理器中的数据库并查看提供连接字符串的属性来获取连接字符串 然而。。。。当我将此连接字符串粘贴到新实例命令中

如果这是一个非常简单的问题,很抱歉,但我发誓我已经a)盯着它看了几天,b)试着用谷歌搜索答案

我使用的是Visual Studio 2015,我添加了一个名为Investments 4的数据库。我可以使用表适配器和数据网格连接到它并显示数据

在程序的另一部分中,我正在探索SQL命令,并尝试手动打开连接,然后读取数据。我正在尝试设置一个新的SqlConnection,我通过右键单击服务器资源管理器中的数据库并查看提供连接字符串的属性来获取连接字符串

然而。。。。当我将此连接字符串粘贴到新实例命令中时,VS对象,因为它包含引号和反斜杠

这是电话线

SqlConnection myConnection = new SqlConnection("Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename = "C:\Users\Nick\Documents\Investments 4.mdf"; Integrated Security = True; Connect Timeout = 30");
myConnection.Open();

显然有些简单而明显的错误,但如果有人能抽出几分钟来指导我,我将非常感激。

你只需要摆脱束缚。您可以使用
@
前缀执行此操作:

SqlConnection myConnection = new SqlConnection(@"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename = ""C:\Users\Nick\Documents\Investments 4.mdf""; Integrated Security = True; Connect Timeout = 30")
这意味着您只需要将
的实例加倍。在不使用
@
前缀的情况下,您需要使用
\
字符转义所有双引号,该字符本身也需要转义:

SqlConnection myConnection = new SqlConnection("Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename = \"C:\\Users\\Nick\\Documents\\Investments 4.mdf\"; Integrated Security = True; Connect Timeout = 30")

在-中处理具有文件路径的字符串时,通常首选使用
@
前缀。

只需删除连接字符串中文件路径处的双倒逗号,如下所示:

SqlConnection myConnection = new SqlConnection("Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename = C:\Users\Nick\Documents\Investments 4.mdf; Integrated Security = True; Connect Timeout = 30");
myConnection.Open();

都一样..正如您在该字符串的开头添加
@
一样。VS正在尝试转义您输入到
SqlConnection()中的字符串。
在开头使用@,即
SqlConnection(@“SomeString”)
我不确定您是否需要连接字符串中的双引号。您应该查看SqlConnectionStringBuilder类。非常有用!非常完美。非常感谢。欢迎使用堆栈溢出!当您想在帖子中表达代码时,请在每行前加4个空格,或者只需点击
Ctrl+K