在java swing表单中未选择日期时显示mysql数据库表中的所有记录

时间:2014-10-08 07:26:17

标签: java mysql swing

我在基于桌面的应用程序中使用java swing和mysql数据库。 我在报告上提供日期过滤器时有以下查询。 如果我没有在JTextField中输入To_date到From_date,那么它必须显示我的mysql数据库表中的所有记录,如果我输入了date,那么它必须在这两个日期之间显示记录。 所以我尝试过(在To_date和From_date之间的日期)但是只有当我给日期查询否则为空时它才显示记录。 你能告诉我什么吗?

2 个答案:

答案 0 :(得分:0)

您可以使用IFNULL(http://www.mysqltutorial.org/mysql-ifnull/)并形成您的查询,这样如果您的参数为null,那么您应该使用列值进行比较。 例如

SELECT * FROM YourTable WHERE IFNULL(DateColumn,@YourParameter) = @YourParameter 

答案 1 :(得分:0)

如果为null,则应该为date列尝试一些静态值。 我希望以下查询可以帮助您解决问题。

SELECT * FROM YourTable WHERE IFNULL(@StartDateParameter, IFNULL(DateColumn,'1900-01-01')) <= IFNULL(DateColumn,'1900-01-01')
AND IFNULL(@EndDateParameter, IFNULL(DateColumn,'1900-01-01')) >= IFNULL(DateColumn,'1900-01-01')

如果您无法通过此查询解决问题,请与我们联系。