【发布时间】:2014-01-04 03:29:59
【问题描述】:
String date1 = jTextField.getText();
String date2 = jTextField2.getText();
// using CDate...
pre=conn.prepareStatement("select * from Table where Date "
+ "between CDate(?) and CDate(?) order by Date");
pre.setString(1, date1); // bind param 1
pre.setString(2, date2); // bind param 2
ResultSet rs=pre.executeQuery();
当我们将日期从 2013 年 1 月 12 日到 2014 年 1 月 31 日时,它只会返回到 2013 年 12 月 31 日的记录。
另一个问题是,当我们将日期从 2014 年 1 月 1 日到 2014 年 12 月 31 日时,它也会返回 2013 年所有日期的记录。
请帮我解决这个问题。
谢谢。
我的日期列的数据类型为文本。
请提供正确的查询以查找两个字符串输入日期之间的日期记录。
【问题讨论】:
-
什么是
CDate函数?你的表声明是什么?让我们看一些示例数据。 -
CDate是将字符串日期转换为Date格式
-
那么让我们看看它的主体,你的 DB 是什么?
-
我正在使用 MS Access DB
-
@MessyProgrammer 您的问题需要改进。您是否使用 JDBC 驱动程序连接到 MS Access?谁的司机?您能否提供用于存储日期值的数据类型的 Access 文档的链接?而对于 Cdate 函数。如果您以文本类型存储值,为什么要调用 CDATE 来创建日期值?