c# - BindingSource 按日期过滤

标签 c# sql filter filtering

我想根据日期从数据库中过滤值。

数据库中的日期包含如下值:2008-12-28 18:00:00。我的类(class)有一个 DateTime 变量,具体取决于我要过滤的内容。理想情况下它会像这样工作: myBindingSource.Filter = "DATE(myDateField) = myDateTime.Date" + 根据需要调整 myDateTime.Date 格式。

但它会抛出 EvaluateException:“表达式包含未定义的函数调用 DATE()。”

虽然如果我直接执行SQL语句,我可以在filter中使用DATE()函数。

附言我将 MYSQL DB 与 Connector/Net 5.2 一起使用

我该如何解决这个问题?

谢谢大家的建议。

最佳答案

不需要 getSqlDate 函数。您可以使用 String.Format() 来格式化日期:

String.Format("{0:yyyy-MM-dd} 00:00:00", myDateTime)

myDateTime.Date.ToString("yyyy-MM-dd") + " 00:00:00"

您可以像这样过滤绑定(bind)源:

myBindingSource.Filter = String.Format("myDateField >= '{0:yyyy-MM-dd}' AND myDateField < '{1:yyyy-MM-dd}'", myDateTime, myDateTime.AddDays(1));

关于c# - BindingSource 按日期过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/400283/

相关文章:

filter - 在颜色维度之前应用的 Tableau 过滤器

sql - 如何将 DateTime 转换为 VarChar

MySQL:where 子句如何对 delete 语句无效但对 select 语句工作正常?

python - Sqlalchemy 包含带有 join 和 contains_eager 的空关系

c# - Visual Studio 2008 - 发布 C# 控制台应用程序的问题

sql - 为 where 子句使用两个列表动态选择

r - 在 R 中的两个数据框中使用多行过滤

c# - 如何通过 C# 代码编辑 Windows 中的注册表值(regedit)?

c# - ASP.NET - 从数据库中检索图像列表并将它们显示在 View 中?

c# - 为什么我们的项目需要接口(interface)层/抽象类?