获取两个String日期之间的记录

时间:2014-01-04 02:21:10

标签: java sql date ms-access

我知道Date列的数据类型应该是Date / Time,但在我的例子中它是Text。

现在我想在两个日期之间获取记录。

String Date1=jTextField.getText();
String Date2=jTextField2.getText();

pre=conn.prepareStatement("select * from Table where Date between "Date1" and "Date2"");

ResultSet rs=pre.executeQuery();

我知道这个查询对我没有帮助。但我对sql查询全新,所以请帮我解决这个问题。

提前谢谢。

编辑:

我正在使用MS Access数据库。

在这个阶段,我只是使用System.out.println(rs.getString(1))打印记录;

1 个答案:

答案 0 :(得分:2)

您可以使用CDate功能,ORDER BY

// Java style variable names.
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();

也可以使用SimpleDateFormat将字符串转换为Java中的日期,但该解决方案更复杂。此时,您应该坚持使用最简单(正确)的解决方案。