在sql server中参数化全文查询

Ron*_*noc 5 sql-server freetext full-text-search contains

我在使用sql server全文功能时遇到问题.我正在转换一些论坛软件以使用全文搜索,我有一切设置和工作.我的问题与全文查询有关.当我在sql server管理工作室中使用CONTAINS谓词来测试它们时,我设计了一些根据需要运行的查询,例如:

Select ....
From ..... 
WHERE Contains(p.Message,'" dog food "' ) ......
Run Code Online (Sandbox Code Playgroud)

所以这运行正常,但我如何在准备好的语句中参数化?理想情况下,我希望能够使用where子句运行查询,如:

Select ....
From ..... 
WHERE Contains(p.Message,'" @SearchTerm "' ) ...
Run Code Online (Sandbox Code Playgroud)

甚至

WHERE Contains(p.Message,'"@SearchTerm" Near "@OtherSearchTerm" ) ...
Run Code Online (Sandbox Code Playgroud)

但这种方法不起作用,因为双引号和所有.我可以在代码中动态构建搜索项,但出于安全原因,我确实需要为所有用户输入使用参数.我已经看过一个试图寻找解决方案但仍然无法找到解决方案的google结果(当然这必须发生在每个人身上,或者我错过了一些非常明显的东西和/或它是不可能的).有任何想法吗?

Mar*_*c B 0

字符串连接怎么样?

WHERE Contains(p.Message, '"' + @SearchTerm + '" Near "' + @OtherSearchTerm + '"')
Run Code Online (Sandbox Code Playgroud)