全文程序化查询不返回结果 - SQL Server
我在SQL Server 2008中使用全文搜索,并通过C#2008应用程序进行连接。我有一个连接到我的数据库的字符串,我已成功使用常规SELECT语句和存储过程多次。我正在尝试实现特定表的全文搜索,并且我已经为全文搜索配置了我的目录和索引。
但是,我正在以编程方式创建一个似乎不起作用的全文查询。它确实添加了一个我检查过的参数正确传递。如果我继续将搜索词粘贴到参数所在的位置并将其保留在引号内,我会从SSMS中的完全相同的查询中获得结果。但是当我运行代码时,我的SqlDataReader返回时没有结果。我怀疑它与没有使用双引号的转义有关。
以下是代码生成的内容(不返回任何结果):
Set NOCOUNT ON SELECT TOP 5 * FROM
(SELECT JobID, ROW_NUMBER() OVER (ORDER BY createdDate) AS num
FROM Jobs
WHERE isActive='true'
AND ( CONTAINS(([JobDuties]), 'FORMSOF(INFLECTIONAL, \"@Argument0\")')) ) AS a
WHERE num > 0
然而,当我去SSMS并手动粘贴一个参数时(它有效):
Set NOCOUNT ON SELECT TOP 5 * FROM
(SELECT JobID, ROW_NUMBER() OVER (ORDER BY createdDate) AS num
FROM Jobs
WHERE isActive='true'
AND ( CONTAINS(([JobDuties]), 'FORMSOF(INFLECTIONAL, "develop")')) ) AS a
WHERE num > 0
所以,我知道问题与论证有关,但我无法弄清楚。我有其他查询,我以编程方式完全相同的方式添加参数,它的工作原理。但他们不使用双引号。有线索吗?
谢谢!