我正在尝试在我的数据集中编译一个查询,该数据集接受一个变量并搜索我的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")
答案 0 :(得分:1)
LIKE条件必须包含@Query的内容,而不是字符串'@query'
SELECT * FROM Customer WHERE
((NAME LIKE '%'+@Query+'%') OR (Surname LIKE '%*+@Query+'%') OR (Telephone LIKE '%'+@Query+'%'))