一个关于日期查询的问题。急!!!急!!!

cattiger 2001-10-26 08:07:57
我用两个text框来输入用户想查询的某年某月的有关数据,而ORCALE数据库中用date型数据表示日期,请问这应该怎么查询??
如果用界定日期上下限的方法,能不能行呀?若行,各月份的天数不同,如何来判断?
...全文
203 点赞 收藏 25
写回复
25 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cattiger 2001-11-13
我已经解决了,谢谢各位仁兄,
simoncn(早睡早起精神好),谢谢你了,只要把cal.add(Calendar.DATE,-1); 去掉就可以了,给分!尽我所能!
回复
cattiger 2001-11-13
我在数据库中插入几知记录,有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");
回复
simoncn 2001-11-13
Integer.valueOf("2001").intValue()
回复
cattiger 2001-11-11
java.lang.Integer 中未找到方法toInt()。出现这种错误大概有哪些方面的原因呀
回复
simoncn 2001-11-11
Integer.valueOf(a)
--Integer.valueOf(a).toInt()?
回复
cattiger 2001-11-10
仍然提示“method不兼容类型,无法将java.lang.Integer 转换为int”,别的地方有没有错误呀
回复
simoncn 2001-11-10
cal.set(Integer.valueOf(a), Integer.valueOf(b), 1, 0, 0, 0);
method signature requires full information
回复
cattiger 2001-11-09
上述错误是出在
cal.set(Integer.valueOf(a),Integer.valueOf(b), 1);
回复
cattiger 2001-11-09
我按下面代码来查询,结果提示错误:“无法将java.lang.Integer 转换为int”,请各位帮帮忙,如能解决,必重酬!!

<%@ page language="java"%>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.GregorianCalendar"%>
<%@ page import="java.util.*"%>
<%@ page import="java.util.Date"%>
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),Integer.valueOf(b), 1);
cal.add(Calendar.MONTH, 1);
cal.add(Calendar.DATE, -1); // month end date
int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH);
String days2=dayOfMonth+"-"+yue+"-"+a;
ResultSet rs =data.SQLSelect("select * from table where cur_date>='"+days1+"' and cur_date<='"+days2+"'");

回复
simoncn 2001-11-09
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);

回复
cattiger 2001-11-08
我这里的月份是从text中查出的,是一个String类型,
如:String b=request.getParameter("month");
下面的代码应该怎么写来得到b月的天数
回复
simoncn 2001-11-08
请问各位,怎样得到某月的天数呀,现在只剩这个关键地方了,
--use Calendar
Calendar cal = Calendar.getInstance();
cal.set(yyyy, mm, dd, hh, mm, ss);
cal.get(Calendar.DAY_OF_MONTH);
回复
cattiger 2001-11-07
请问各位,怎样得到某月的天数呀,现在只剩这个关键地方了,
回复
Realot_11 2001-10-31
用这个:
“select * from table where saledate <=TO_DATE('"+enddate+"','yyyy-mm-dd hh24:mi:ss') ";
注意:String enddate要满足日期格式(后面括号约定的),
如:2001-10-31 13:23:23
回复
cattiger 2001-10-31
我是根据年和月来把一个月的数据调出来,请楼上的仁兄明示之。
回复
cattiger 2001-10-29
有值,
我按照zhx_232(笨狗熊妹妹) 的方法做,在查询条件的TEXT框中输入2001和09,结果提示无效列名。??
回复
mooncui 2001-10-29
我一般把日期数据用char()类型表示,不用date
回复
cattiger 2001-10-29
各位老兄帮兄弟一把呀!!
我有个同学是先把所有数据取出来,然后再进行判断,把符合条件的数据显示出来,这样我觉得不太可行呀,取出的数据是不是太多了
回复
吃草的猪 2001-10-28
你看看你的year和month里面有值吗?
回复
cattiger 2001-10-27
String time=year+month;
这里time不是字符型的吗,
回复
加载更多回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-10-26 08:07
社区公告
暂无公告