读书人

依据时间段获取信息

发布时间: 2013-04-02 12:35:26 作者: rapoo

根据时间段获取信息
这是我的代码:

<%

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中却能显示信息。 烦请各位大侠帮帮忙呗?
[解决办法]
看你只判断time1小于time2了,如果大于等于就不会执行查询
[解决办法]
String sql = "select * from subject where time >= '"+time1+"' and time <= '"+time2+"'";

time是sql里的 关键字,肯定会报错。

读书人网 >Eclipse开发

热点推荐