问题1 对数据库的区间查询
如功能显示,想要按照年份和月份查询相应的记录,就要使用区间查询
对应的代码如下
servlet层的ChaXun
java.sql.Date sDate = new java.sql.Date(Integer.parseInt(year)-1900, Integer.parseInt(month)-1, 1); java.sql.Date bDate = new java.sql.Date(Integer.parseInt(year)-1900, Integer.parseInt(month)-1, 31);
定义两个变量,sDate是起始查询,bDate是截止查询
Dao dao = new Dao(); List<record> sList = dao.name(sDate,bDate);
调用的方法具体内容为
public List<record> name(java.sql.Date sDate , java.sql.Date pDate) { String sql = "select * from record where date BETWEEN '"+sDate+"' and ' "+pDate+"'"; System.out.println(sql); Connection conn =Dao.getconn(); List<record> list=new ArrayList<record>(); try { PreparedStatement pst=conn.prepareStatement(sql); ResultSet rst=pst.executeQuery(); while(rst.next()) { record r=new record();//此处需要注意不能放在while的外面,否则会导致只有最后一条数据 r.setId(rst.getInt("id")); r.setDate(rst.getDate("date")); r.setMoney(rst.getString("money")); r.setFenlei(rst.getString("fenlei")); r.setBeizhu(rst.getString("beizhu")); list.add(r); } } catch (Exception e) { e.printStackTrace(); } return list; }