C# C代码隐藏中的LIKE SQl查询中的转义单引号

C# C代码隐藏中的LIKE SQl查询中的转义单引号,c#,sql,sqldataadapter,C#,Sql,Sqldataadapter,我有一个类似这样的查询 SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name LIKE 'Jo%' 但这对C代码隐藏不起作用。我如何在LIKE之后避开第一个单引号 SqlDataAdapter da = new SqlDataAdapter("SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name LIKE

我有一个类似这样的查询

SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name LIKE 'Jo%'
但这对C代码隐藏不起作用。我如何在LIKE之后避开第一个单引号

SqlDataAdapter da = new SqlDataAdapter("SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name  LIKE ' + @Search + '%'", cs);
da.SelectCommand.Parameters.AddWithValue("@Search",tbNameSearch.Text);

你的陈述应该是:

"SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name  LIKE @Search"
然后您可以更改@Search:value:

da.SelectCommand.Parameters.AddWithValue("@Search",tbNameSearch.Text + "%");

你的陈述应该是:

"SELECT [ID], [First_Name], [Last_Name], FROM [Employees] WHERE First_Name  LIKE @Search"
然后您可以更改@Search:value:

da.SelectCommand.Parameters.AddWithValue("@Search",tbNameSearch.Text + "%");
试试这个:

从[Employees]中选择[ID]、[First_Name]、[Last_Name],其中名为“@Search%”

我不确定%可能会把事情搞砸。首先尝试删除%s,如果查询有效,请将其添加回以查看是否有任何中断。

尝试以下操作:

从[Employees]中选择[ID]、[First_Name]、[Last_Name],其中名为“@Search%”

我不确定%可能会把事情搞砸。首先尝试删除%s,如果查询有效,请将其添加回以查看是否有任何中断。

只需:

 ...LIKE @Search + '%' ";
简单地说:

 ...LIKE @Search + '%' ";

双引号是在sql中转义引号的方式,而不是在C中。您不需要在C中转义单引号,正如您已经演示的那样。此外,@Search不是一个C变量。双引号是在sql中转义引号的方式,而不是在C中转义引号的方式。您不需要在C中转义单引号,您已经演示了这一点。另外,@Search不是一个C变量。不,它搜索以at符号开头的字符串,然后是S、e、a,etc@MarcGravell即使da.SelectCommand.Parameters。AddWithValue@Search,tbNameSearch.Text;是否应该覆盖?参数不是通过搜索+替换实现的。在c中,它是字符串s=x之间的差值;字符串s=x;-完全不同things@MarcGravell很高兴知道,谢谢。我一直想知道它是怎么工作的。不,它搜索一个以at符号开始的字符串,然后是S,然后是e,然后是a,etc@MarcGravell即使da.SelectCommand.Parameters。AddWithValue@Search,tbNameSearch.Text;是否应该覆盖?参数不是通过搜索+替换实现的。在c中,它是字符串s=x之间的差值;字符串s=x;-完全不同things@MarcGravell很高兴知道,谢谢。我总是想知道这是怎么回事。