Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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
Sql Can';t在查询中从文本框进行部分匹配_Sql_Ado.net - Fatal编程技术网

Sql Can';t在查询中从文本框进行部分匹配

Sql Can';t在查询中从文本框进行部分匹配,sql,ado.net,Sql,Ado.net,我有一个列,其中包含类似“Tom Hardy”的数据,我在该列中添加了一个新查询以进行搜索,如下所示: SELECT Number, Name, Business, [Tax File No], Phone FROM Archive WHERE (Name = @Name) 当我输入像“Tom Hardy”这样的全名时,它就起作用了,但我只想通过搜索“Tom”或“Hardy”来查找结果 我还尝试: SELECT Number, Name, Busines

我有一个列,其中包含类似“Tom Hardy”的数据,我在该列中添加了一个新查询以进行搜索,如下所示:

SELECT  Number, Name, Business, [Tax File No], Phone
FROM            Archive
WHERE        (Name = @Name)
当我输入像“Tom Hardy”这样的全名时,它就起作用了,但我只想通过搜索“Tom”或“Hardy”来查找结果

我还尝试:

SELECT  Number, Name, Business, [Tax File No], Phone
FROM            Archive
WHERE        (Name IN (@Name))
两者都不起作用

使用连接了C#和SQL数据库的Visual Studio 2010


请帮忙,谢谢

您需要在参数中添加通配符

WHERE Name LIKE '%' + @Name + '%'
所以


.

Dave是对的,除了mybe您还想检查小写/大写字母, 也许这就是你没有收到好结果的原因

比如:

SELECT  Number, Name, Business, [Tax File No], Phone
FROM            Archive
WHERE        (LOWER(Name) like '%' + LOWER(@Name) + '%')

此语句将两个值都转换为小写,并且比较再次有效

感谢您的关注,但它不起作用。仍然无法搜索未满的name@MohammedAhmed再次更新,作为豪尔赫小写建议的替代方案(尽管它可能过于本地化,无法满足您的需要)。如果需要,您还可以将其添加到数据库中+1以获得优雅:)。。我不知道为什么Mohammed总是有问题谢谢@MohammedAhmed您是否有任何错误,或者只有0个结果?您能否在Sql Server Management Studio中而不是在代码中尝试上面的代码,以便我们排除此问题。@Dave在尝试使用上次更新时,它给了我错误“无效排序规则UTF8_GENERAL_CI”@MohammedAhmed-您能否在SSMS(Sql Server Management Studio)中尝试此操作,以便我们排除任何C#/连接/编码问题。
SELECT  Number, Name, Business, [Tax File No], Phone
FROM            Archive
WHERE        (LOWER(Name) like '%' + LOWER(@Name) + '%')