Come? Parametri e istruzione LIKE SQL

Sto scrivendo una funzione di ricerca e ho pensato a questa query usando i parametri per prevenire, o almeno limitare, attacchi di SQL injection. Tuttavia, quando lo eseguo attraverso il mio programma non restituisce nulla:

SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')

I parametri possono essere usati in questo modo? o sono validi solo in un’istanza come:

SELECT * FROM compliance_corner WHERE body LIKE '%%' (dove è l’object di ricerca).

EDIT: Sto costruendo questa funzione con VB.NET, questo ha un impatto sulla syntax che voi ragazzi avete contribuito?

Inoltre, ho eseguito questa istruzione in SQL Server: SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE % max% ‘) `e restituisce risultati.