我用JSP+ORACLE做的一个系统,其中有项功能是在网数据库添加内容时的XTIME字段,网里放的时候第一条纪录初始一个时间(如2007年04月20日10点),而第二条纪录放进去是2007年04月20日16点,第三条纪录放进去是2007年04月21日10点,第四条纪录是2007年04月21日16点.......以此类推,按天循环,就是每天2次,哪位高手能帮我改一下.
大致代码如下:
String NewVals,InsertSQL,Columns;
int prov=4;String XTIME="2007-04-20-10"
Columns="content,prov,sendtime,xuhao,fenlei,XTIME";
NewVals="'"+address+"','"+prov+"',sysdate,ny.nextval,'"+StartTime+"',
'"+XTIME+"";
InsertSQL="INSERT INTO SMS_LH_CONTENT("+Columns+") VALUES ("+IsoConvertGb(NewVals)+")";
大致代码如下:
String NewVals,InsertSQL,Columns;
int prov=4;String XTIME="2007-04-20-10"
Columns="content,prov,sendtime,xuhao,fenlei,XTIME";
NewVals="'"+address+"','"+prov+"',sysdate,ny.nextval,'"+StartTime+"',
'"+XTIME+"";
InsertSQL="INSERT INTO SMS_LH_CONTENT("+Columns+") VALUES ("+IsoConvertGb(NewVals)+")";
这个序列要完成的功能就是时间迭加
这个序列要完成的功能就是时间迭加
------------------------------------这样好,顶个写个存储过程也行
在oracle库上写一个序列,然后每次插记录就调用这个序列。
这个序列要完成的功能就是时间迭加
------------------------------------这样好,顶个写个存储过程也行顶
2、然后向数据库中插入数据
select max(XTIME) from tableName
Calendar c=Calendar.getInstance();
把查询结果赋给c
if(c.get(c.Hour)==10){
String time=""+c.get(c.Year)+"-"+c.get(c.Month)+"-"+c.get(c.Date)+"-"+16
insert into tableName(XTIME) values( "+time+" )
}else{
c.set(c.get(c.Year),c.get(c.Month),c.get(c.date)+1)
String time=""+c.get(c.Year)+"-"+c.get(c.Month)+"-"+c.get(c.Date)+"-"+10
insert into tableName(XTIME) values( "+time+" )
}
只是个思路,这么做成吗?
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd 10-00-00");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd 16-00-00");
Calendar beginCalender = Calendar.getInstance();
beginCalender.setTime(new Date());
Date currBeginTime;
Date currEndTime;
for(int i = 1 ; i < 100 ; i++ ){
beginCalender.add(Calendar.DAY_OF_YEAR,1);
String tempBeginStr = sdf1.format(beginCalender.getTime());
String tempEndStr = sdf2.format(beginCalender.getTime());
try{
currBeginTime = dateFormat.parse(tempBeginStr);
currEndTime = dateFormat.parse(tempBeginStr);
} catch(ParseException e){
e.printStackTrace();
}
//这里是你插入数据库代码
/*
*/
}