我知道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))打印记录;
答案 0 :(得分:2)
// 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中的日期,但该解决方案更复杂。此时,您应该坚持使用最简单(正确)的解决方案。