就用cnn.execSQL("update bid_user_tj set BUT_ONLINE='1' where BUT_DATE=to_date('"+rs4.getDate("BUT_DATE").toString()+"','y-m-d') and but_id='"+session.getAttribute("uid")+"'");

解决方案 »

  1.   

    你也可以在rs4.getDate("BUT_DATE")时设置格式为yyyy-mm-dd HH24:mi:ss
      

  2.   

    哪个rs4,是but_date倒序排列后,去最新的一条的记录,可以取出来,但是下面的就是更新不过来,不知道为什么啊?
      

  3.   

    请问:zhugang(jumbo) 
    哪个rs4.getDate("BUT_DATE")怎么设置格式为yyyy-mm-dd HH24:mi:ss啊?
    谢谢了!!
      

  4.   

    查询时定义输出格式用select to_char(but_date,'yyyy-mm-dd hh24:mi:ss') from ....
      

  5.   


    cnn.execSQL("update bid_user_tj set BUT_ONLINE='1' where BUT_DATE=to_date('"+rs4.getDate("BUT_DATE").toString()+" 00:00:00','yyyy-MM-dd hh24:mi:ss') and but_id='"+session.getAttribute("uid")+"'");
      

  6.   

    把java.sql.Date的toString方法转出的其格式是 yyyy-mm-dd,不带时间的。
    所以你如果直接用toString的话会损失精度。
    1 如果你不在乎time,只在乎日期,那么可以这样写:
    cnn.execSQL("update bid_user_tj set BUT_ONLINE='1' where BUT_DATE=to_date('"+rs4.getDate("BUT_DATE").toString()+"','yyyy-mm-dd') and but_id='"+session.getAttribute("uid")+"'");
    2 否则的话,建议把rs4.getDate("BUT_DATE")转换一下再使用。
    3 最好的方式是不写死,用prepareStatement,传入date参数.
      

  7.   

    把所有的任务交给数据库自动去转换吧:这样肯定ok
    把 rs4.getDate("BUT_DATE").toString()
    该为:
    rs4.getString("BUT_DATE")