Web版记账本开发记录(二)开发过程遇到的问题小结1 对数据库的区间查询

问题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;
        
        
    }

猜你喜欢

转载自www.cnblogs.com/xcl666/p/10421069.html