我从数据库中保存的数据库中检索了一些数据。 我想要做的是仅提取与作为参数传递的日期匹配的记录,只要它大于DateTime.MinValue()。这应该很容易。
下面是我如何构建查询字符串的代码片段。我知道如果我没有日期过滤器,我会得到'x'记录,但我总是得到0日期过滤器。
string query = string.Format("Field_Name IN( 'GENDER','DOB','MARITAL_STATUS','SS') AND DIFF_TYPE = 'PER' AND Person_ID = '{0}'", Person_ID);
if (ChangeDetected > DateTime.MinValue)
{
query += string.Format(" AND ChangeToDT = #{0}#", ChangeDetected);
}
ChangeDataSet.DifferencesRow[] perChanges = this.m_ChangeDS.Differences.Select(query, "ChangeFromDT ASC, Field_Name DESC") as ChangeDataSet.DifferencesRow[];
我在过滤器中尝试了DateTime的输出格式的各种变体,但它们都有相同的结果。
我不知道LINQ能够以这种方式进行条件过滤。 {:O(
答案 0 :(得分:0)
尝试直接指定格式:
query += string.Format(" AND ChangeToDT = #{0}#", ChangeDetected.ToString("MM/dd/yyyy"));
BTW:这与LINQ无关。