我在数据库中插入几知记录,有2、9、10这三个月份的。我用上面的方法进行查询,但只能查出10月份的记录,且不能查询10月31日的记录,查询2、9月份的记录时会出错“java.lang.NullPointerException”,请问这是什么原因呀???
<%String a=request.getParameter("year");
String b=request.getParameter("month");
if((a!=null)&&(b!=null)){
{String yue="月";
String days1="1-"+b+yue+"-"+a;
Calendar cal = Calendar.getInstance();
cal.set(Integer.valueOf(a).intValue(),Integer.valueOf(b).intValue(),1,0,0,0);
//cal.set(Integer.parseInt(a),Integer.parseInt(b),1,0,0,0);这样写也出同样的错误
cal.add(Calendar.MONTH,1);
cal.add(Calendar.DATE,-1); // month end date
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
String days2=dayOfMonth+"-"+b+yue+"-"+a;
ResultSet rs =data.SQLSelect("select * from table where c_date>='"+days1+"' and c_date<='"+days2+"'");
while (rs.next()){
Date cur=rs.getDate("c_date");
Calendar cal = Calendar.getInstance();
cal.set(yyyy, Integer.valueOf(b), 1, 0, 0, 0);
Date monthBegin = cal.getTime();
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DATE, -1); // last month end date
Date monthEnd = cal.getTime();
--得到b月的天数
Calendar cal = Calendar.getInstance();
cal.set(yyyy, Integer.valueOf(b), 1, 0, 0, 0);
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DATE, -1); // month end date
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);