根据时间段获取信息

wei_juan 2013-03-23 10:37:14
这是我的代码:

<%

Connection conn = null;

PreparedStatement pstmt = null;

ResultSet rs = null;

String year = request.getParameter("year");

String month = request.getParameter("month");

String day = request.getParameter("day");

String year2 = request.getParameter("year2");

String month2 = request.getParameter("month2");

String day2 = request.getParameter("day2");

StringBuilder sbr = new StringBuilder();

String date1 = sbr.append(year).append("-").append(month).append("-").append(day).append(" ").append("00").append(":").append("00").append(":").append("00").toString().trim();

String date2 = sbr.append(year2).append("-").append(month2).append("-").append(day2).append(" ").append("23").append(":").append("59").append(":").append("59").toString().trim();

java.util.Date date3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date1);

String time1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date3);

java.util.Date date4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date2);

String time2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date4);

if(time1.compareTo(time2)<0){

conn = new connDB().getConn();

String sql = "select * from subject where time >= '"+time1+"' and time <= '"+time2+"'";

pstmt = conn.prepareStatement(sql);

rs = pstmt.executeQuery();

while(rs.next()){

int id = rs.getInt("id");

String title = rs.getString("title");

String username = rs.getString("username");

java.util.Date time = rs.getDate("time");

%>
<tr>
<td><%=title %></td>
<td><%=username %></td>
<td><%=time %></td>
<td><a href="delete.jsp?id=<%=id %>">删 除</a></td>

<td><a href="showreply.jsp?id=<%=id %>">查看回帖</a></td>
</tr>
<tr>
<td></td><td></td><td></td><td></td>
<td>
<a href="deleteall.jsp?date1=<%=date1 %> & date2=<%=date2 %>">删除全部</a>
</td>
</tr>
</table>
</center>
<%

}

}
%>

为什么总是提取不出来数据库中的信息呢? 但是用sql语句在mysql中却能显示信息。 烦请各位大侠帮帮忙呗?
...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wei_juan 2013-03-24
  • 打赏
  • 举报
回复
在数据库中查询没报错,我用的是mysql 改了字段名之后依然查不出来。我就是想知道,字符串转换成时间格式那一段对不对? 如果时间格式打印出来的话是:Thu Jun 09 23:00:00 CST 2005 。 而不是datetime的类型。这种格式能查询码?
  • 打赏
  • 举报
回复
String sql = "select * from subject where time >= '"+time1+"' and time <= '"+time2+"'"; time是sql里的 关键字,肯定会报错。
wei_juan 2013-03-24
  • 打赏
  • 举报
回复
对呀,可是查不出来。
wei_juan 2013-03-24
  • 打赏
  • 举报
回复
问题解决了。。。
o0lcl0o 2013-03-23
  • 打赏
  • 举报
回复
看你只判断time1小于time2了,如果大于等于就不会执行查询

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧