使用通配符符号从DataSet搜索数据库表

时间:2013-06-18 21:10:12

标签: sql-server vb.net

我正在尝试在我的数据集中编译一个查询,该数据集接受一个变量并搜索我的SQL Server 08数据库表的三列。查询如下,但不要求变量。我相信系统会将@Query视为文本,因为它包含在单引号中。有什么想法吗?

SELECT * FROM Customer WHERE
((NAME LIKE '%@Query%') OR (Surname LIKE '%@Query%') OR (Telephone LIKE '%@Query%'))

我正在使用可视化数据集编辑器。 我从VB.NET代码中调用它的方式是:

Dim dtCustomers As DataTable
dtCustomers = Me.CustomerTableAdapter.GetSearchCustomers("myString")

1 个答案:

答案 0 :(得分:1)

LIKE条件必须包含@Query的内容,而不是字符串'@query'

SELECT * FROM Customer WHERE
((NAME LIKE '%'+@Query+'%') OR (Surname LIKE '%*+@Query+'%') OR (Telephone LIKE '%'+@Query+'%'))