1

1 つの変数を受け入れ、SQL Server 08 データベース テーブルの 3 つの列を検索するデータセットでクエリをコンパイルしようとしています。クエリは以下のとおりですが、変数は要求されません。@Query は一重引用符で囲まれているため、システムは @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 に答える