1

我正在尝试在我的数据集中编译一个查询,该查询接受一个变量并搜索我的 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")
4

1 回答 1

1

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

SELECT * FROM Customer WHERE
((NAME LIKE '%'+@Query+'%') OR (Surname LIKE '%*+@Query+'%') OR (Telephone LIKE '%'+@Query+'%'))
于 2013-06-21T11:37:24.647 回答