C# 如何在C T-SQL查询字符串中使用%修饰符?
我正在尝试用C编写一个基本查询,其中包括使用“%”修饰符 我的问题是:C# 如何在C T-SQL查询字符串中使用%修饰符?,c#,sql-server,modifier,C#,Sql Server,Modifier,我正在尝试用C编写一个基本查询,其中包括使用“%”修饰符 我的问题是: SELECT userName FROM tblUserInformation WHERE userName LIKE %@userNameQuery% 当我运行它时,我得到一个SQL异常 在@userNameQuery附近出现语法错误 我以前在SQL查询和C SQL查询字符串方面遇到过类似的差异,但我不确定如何解决这个问题。我试过: SELECT userID FROM tblUserInformation WH
SELECT userName
FROM tblUserInformation
WHERE userName LIKE %@userNameQuery%
当我运行它时,我得到一个SQL异常
在@userNameQuery附近出现语法错误
我以前在SQL查询和C SQL查询字符串方面遇到过类似的差异,但我不确定如何解决这个问题。我试过:
SELECT userID
FROM tblUserInformation
WHERE userName LIKE '%'@userNameQuery'%'
下面的一个不会引发异常,但不会返回任何结果。这应该是因为我可以直接对数据库运行相同的查询,它会返回许多结果
SELECT userName
FROM tblUserInformation
WHERE userName LIKE '%@userNameQuery%'
我这样做对吗
另外,@userNameQuery正确地填写了SqlParameter,并且是正确的数据类型等。
在尝试了以上两种方法后,第二种方法都没有返回任何结果,我确信我的查询字符串中没有多余分号或缺少语法错误
谢谢你抽出时间 您需要在参数的值中传入%,而不是在查询本身中传入
SELECT userName from tblUserInformation WHERE userName LIKE @userNameQuery
其中@userNameQuery类似于%my query%。我建议这样使用它: 将您的查询写为从tblUserInformation中选择用户名,其中 类似于@userNameQuery的用户名 确保绑定为参数@userNameQuery的字符串包含必要的%,即声明为 var userName=@%name% 请尝试:
like '%' + @userNameQuery + '%'
我强烈建议使用SQL命令的SQL参数。它保持着文化的东西。这很有效,谢谢你,好心的先生。我将在6分钟内标记为正确:D