【发布时间】:2012-06-30 19:11:48
【问题描述】:
QueryText = string.Format("SELECT {0}, {1} Path FROM Scope() "
+ "WHERE {0} = 'test' AND {1} BETWEEN '"
+ minimumDate.ToString("yyyy-MM-dd HH:mm:ss") + "' AND '" + maximumDate.ToString("yyyy-MM-dd HH:mm:ss")
+ "' ORDER BY {1} Desc", "TestField", "DateField");
minimumDate 和 maximumDate 的类型为 DateTime (.net DateTime)。这是一个全文SQLQuery。
注意:在添加日期之间的子句之前 - 这个查询很好,所以字段肯定存在等等。
编辑:实际查询字符串:
"SELECT TestField, DateField FROM Scope() WHERE TestField = 'test' AND DateField BETWEEN '2011-06-30 09:41:23' AND '2012-06-29 09:41:23' ORDER BY DateField Desc"
编辑:我犯了一个错误,声明它在 between 子句之前起作用 - 我一定是篡改了 select,因为我省略了一个重要的逗号。
【问题讨论】:
-
替换后你的实际
QuerText是什么 -
请始终使用 SqlParameter 而不是字符串连接。你会避免很多头痛。 SqlParameters 将帮助您正确地将类型转换为实际的 SQL 查询,而无需处理自定义模式。而且您的代码将更具可读性。
-
参见 OP。 @SteveB - FullTextSQLQuerys 可能的参数?
-
@DeeMac:我不知道。我从未尝试过:) 我还没有看到你问题的这一部分。请尝试将您的实验结果告诉我们:)
-
@DeeMac 不,但那 不是 全文查询...但 SteveB 是对的;参数会更好