pls take a try with 
"timestamp"

解决方案 »

  1.   

    How to use? Can you give me a example?
      

  2.   

    timestamp又如何在我的应用程序中使用?我试过了,程序的执行用Statement就可以,但用PreparedStatment就是在日期与时间部分就会提示出错,指点一下!
      

  3.   

    不行啊,用setString在程序中好像不规范吧,应该用Date的地方我想还是用setDate之类什么的,因为这不是我个人的程序来的,要做标准一点,是不是没有什么解决办法吗快点帮帮忙!!!     以下是我的源程序:        Connection conn = getMyConnection();
            conn.setAutoCommit(false);        sql="insert into mytable values(?,?,?)";        PreparedStatement ps = conn.prepareStatement(sql);
            ps.setInt(1,sp.getmy_id());
            ps.setDate(2,sp.getmy_date());
            ps.setTime(3,sp.getmy_time());
            ps.executeUpdate();
            conn.commit();
            ps.close();
      

  4.   

    myprestatement.setDate(1,getMyDate());中的getMyDate()的值应该是java.sql.Date型的,而不是java.util.Date型。
      

  5.   

    注意以上的源程序,当在DB2数据库上测试时,执行没问题,但在SQL Server上测试时,就出现了问题的!
      

  6.   

    或者实在不行你就用getMyDate().toLocaleString(),然后用setString()方法,一定可以的
      

  7.   

    用setString()确实是可以,但如果这样做的话,在PreparedStatement中的setDate是不是在SQL Server中起不了作用,好像不可能吧,到底是什么回事啊?
      

  8.   

    see the javadoc of jdbc of sqlserver firstly
      

  9.   

    (see the javadoc of jdbc of sqlserver firstly)
    在哪里有啊?还有一点不知道值不值得提一下,我们现在用的是JDBC1.0,不知和这个有没有关系?
      

  10.   

    SQL Server中并没有Date和Time这两种类型的数据,而只有一个smalltime和time类型,而这两种类型仅仅只是表示时间范围的不同而已,其他的都没有区别,都是日期加上时间的表示,对应到标准的SQL类型上,应该只有TimeStamp了,就是时间戳,它能精确到毫秒,其实存储的时候就是一个长整形而已。所以你要在SQL Server上存储Date或是Time,就只能用TimeStamp,你要做个变换就可以了,然后取出来的时候取舍相应的部分就可以了。ResultSet.getTimestamp或是PreparedStatement.setTimestamp()就可以了。这点我觉得是比较郁闷的。