Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C SQL Server数据库连接字符串语法错误_C#_Sql Server_Database - Fatal编程技术网

C# C SQL Server数据库连接字符串语法错误

C# C SQL Server数据库连接字符串语法错误,c#,sql-server,database,C#,Sql Server,Database,我对C语言很陌生,所以我用教程来学习 我正在关注一个关于创建登录表单的youtube教程。链接,在10:00分钟进入视频,他开始输入一个连接字符串,这是从数据库检索到早些时候 我按照完全相同的步骤输入以下内容: SqlConnection connnection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="C: \Users\Kevin\source\repos\Kops' Toolbox\

我对C语言很陌生,所以我用教程来学习

我正在关注一个关于创建登录表单的youtube教程。链接,在10:00分钟进入视频,他开始输入一个连接字符串,这是从数据库检索到早些时候

我按照完全相同的步骤输入以下内容:

SqlConnection connnection = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename="C: \Users\Kevin\source\repos\Kops' Toolbox\Kops' Toolbox\Database1.mdf";Integrated Security=True");
然而,我惊讶地看到26个错误都与这条线有关。当我读到这篇文章时,我怀疑这与字符串有关

您还必须将连接字符串中的反斜杠转义为\\

但是,通过在字符串前面使用@符号,在我阅读时它会变成一个逐字的字符串,所以这不是问题所在

现在,我假设问题出在我的app.config上,就像我在其他帖子中看到的那样,我看到他们在那里添加了连接字符串,然后创建了一个引用该字符串的新连接字符串,但在列出的教程中,他没有这样做,这让我感到困惑

App.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
</configuration>
错误消息

错误CS1003语法错误',“预期Kops”工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1009无法识别的转义序列Kops工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1056意外字符“\'Kops'Toolbox C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1003语法错误',“预期Kops”工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1056意外字符“\'Kops'Toolbox C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1003语法错误',“预期Kops”工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1056意外字符“\'Kops'Toolbox C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1003语法错误',“预期Kops”工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1056意外字符“\'Kops'Toolbox C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1003语法错误',“预期Kops”工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1003语法错误',“预期Kops”工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1012字符文字Kops工具箱中的字符太多C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1009无法识别的转义序列Kops工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1003语法错误',“预期Kops”工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1056意外字符“\'Kops'Toolbox C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1003语法错误',“预期Kops”工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1003语法错误',“预期Kops”工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态 错误CS1739“SqlConnection”的最佳重载没有名为“C”Kops“Toolbox”的参数C:\Users\Kevin\source\repos\Kops“Toolbox\Kops”Toolbox\Form1.cs 62 Active 错误CS0103当前上下文Kops工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs中不存在名称“Users” 错误CS0103当前上下文Kops工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs中不存在名称“Kevin” 错误CS1738指定的参数规范必须在指定所有固定参数后出现。请使用7.2或更高版本的语言来允许非尾随命名参数。Kops工具箱C:\Users\Kevin\source\repos\Kops工具箱\Kops工具箱\Form1.cs 62处于活动状态 错误CS0103当前上下文Kops工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs中不存在名称“source” 错误CS0103当前上下文Kops工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs中不存在名称“repos” 错误CS0103当前上下文Kops工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs中不存在名称“Kops” 错误CS0103当前上下文Kops工具箱C:\Users\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs中不存在名称“Toolbox” 错误CS0103当前上下文Kops工具箱C:\Use中不存在名称“Database1” rs\Kevin\source\repos\Kops'Toolbox\Kops'Toolbox\Form1.cs 62处于活动状态

数据库中,名为Database1的表称为UserData


你快到了。主要问题是字符串包含双引号;但是字符串本身由双引号分隔,因此您需要“转义”该字符,尽管关于逐字字符串的已接受答案链接问题没有提到这一点-我将添加注释,但另一个答案提到它

您应该能够通过在编辑器中对源代码进行着色来发现它不正确。如果你不能,那就找一个更好的编辑

转义的方式在普通字符串和逐字字符串之间有所不同。对于逐字字符串,只需将双引号加倍,如下所示:

SqlConnection connnection = new SqlConnection(
    @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=""C:\Users\Kevin\source\repos\Kops' Toolbox\Kops' Toolbox\Database1.mdf"";Integrated Security=True");
我删除了C之后的空格:

额外提示:

SqlConnection和SqlDataAdapter以及SqlCommand(供将来参考)是IDisposable的,因此应该在使用块中。 这段代码很容易受到Sql注入攻击-一旦你成功了,请仔细阅读。 您只需要第一行中的第一个值,因此请尝试创建一个SqlCommand,并使用ExecuteScalar。
尝试以下操作:数据源=LocalDB\\MSSQLLocalDB;AttachDbFilename=\C:\\Users\\Kevin\\source\\repos\\Kops\'Toolbox\\Kops\'Toolbox\\Database1.mdf\;综合安全=真实;我建议您使用诸如entity Framework之类的ORM工具。在c:@TS之后,您有一些主要的空间。复制并粘贴连接字符串时,该空间就在那里。我还尝试删除空间并运行它,但没有效果。
SqlConnection connnection = new SqlConnection(
    @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=""C:\Users\Kevin\source\repos\Kops' Toolbox\Kops' Toolbox\Database1.mdf"";Integrated Security=True");