我用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)+")";

解决方案 »

  1.   

    在oracle库上写一个序列,然后每次插记录就调用这个序列。
    这个序列要完成的功能就是时间迭加
      

  2.   

    对oracle序列不熟悉。不过应该很简单,看看oracle的sql语法应该就可以的。
      

  3.   

    在oracle库上写一个序列,然后每次插记录就调用这个序列。
    这个序列要完成的功能就是时间迭加
    ------------------------------------这样好,顶个写个存储过程也行
      

  4.   


    在oracle库上写一个序列,然后每次插记录就调用这个序列。
    这个序列要完成的功能就是时间迭加
    ------------------------------------这样好,顶个写个存储过程也行顶
      

  5.   

    1、先查询数据库中的最后一条记录的时间
    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+" )
    }
    只是个思路,这么做成吗?
      

  6.   

    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
                    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();
                    }
                    //这里是你插入数据库代码
                    /*
                    */
                    }
      

  7.   

    为啥不用oracle的日期函数呢?
      

  8.   

    oracle的日期函数该怎么用呢?