Pergunta

Eu estou tentando usar o Contém operador. Ele funciona bem com dados de teste, por exemplo.
WHERE CONTAINS(file,'"*ash*"')

No entanto, eu quero começar a palavra-chave a partir de uma caixa de texto usando algo como CONTAINS(file,'"*@key*"'), mas isto não parece trabalho. Todas as sugestões agradar.

Graças

Foi útil?

Solução

A @ é usada para declarar uma variável em SQL. Por esta razão, ele não precisa estar dentro de aspas. Por exemplo:

DECLARE @Key varchar(100);
SET @Key = '*ash*'; 
SELECT file FROM SomeTable WHERE CONTAINS(file, @Key);

EDIT: Se você estiver passando em linha SQL através de seu código, em seguida, gostaria de sugerir algo como isto:

C # Exemplo:

string key = textBox1.Text;
string query = "SELECT file FROM SomeTable WHERE ";
query += String.Format("CONTAINS(file, '\"*{0}*\"')", key);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top