String sql = "insert into temp values(?)";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,user,pwd);

PreparedStatement ps = conn.prepareStatement(sql);
                           
                            ps.setDate(1,new Date());
ps.execute();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}那个new Date()。无论用java.util.date,还是java.sql.date,都不行,
Oracle里,字段是Date类型的怎么样把取到的当前时间出入呢?

解决方案 »

  1.   

    这个需要设置成和数据库时间一样的格式吧,oracle不熟悉
      

  2.   

    啊,我也是orcale,插入当前时间没问题的啊。有错误信息提示吗??贴出来。
      

  3.   

    要转换一下,oracle有自己的转换日期的函数!貌似 to_date()
      

  4.   


     直接在java里to_date()???
    2楼也是new date(),然后直接插入的数据库,数据库里是date类型吗?我也感觉奇怪,好久没弄这个,今天一试,肿么这个效果了
      

  5.   

    String sql = "insert into temp values(sysdate)";
    String sql = "insert into temp values(current_date)";
    String sql = "insert into temp values(systimestamp)";最后一个是timestamp类型
      

  6.   


    前辈,高人啊但是我想在java中取时间试验一下那个setDate肿么那么挑剔,放进去的东西,都不和他的胃口
      

  7.   

    insert into temp values(sysdate);
      

  8.   

    好像有一个settimestamp()参数是毫秒数
      

  9.   

    它要的是java.sql.Date
    setTimestamp(new Timestamp(new Date().getTime()))
      

  10.   

    数据库对应的时间是JAVA.SQL.DATE()里的时间
    要相应的转换下
      

  11.   

    java的Date类型和oracle里的Date不匹配,用timestamp或者java.sql.Date试试
      

  12.   


    受不鸟,,,这个问题牵涉到日期精确度了吗?
    我只是说为什么插入当前时间,无论是util.date 还是 sql.date 都不行。跟时间精确度 好像没有一毛钱的关系