Posted by Erland Sommarskog on 02/08/07 23:20
MackTheKnife (wgblackmon@yahoo.com) writes:
> I'm trying to write a java.sql.Date to a database and the minutes/
> seconds etc. are not being written. I've seen and tested many
> examples
> found via searches and still have come up with nothing. Here's what I
> have:
>
> java.sql.Date formation - recommended constructor forms:
> java.sql.Date entryDttm = new
> java.sql.Date(System.currentTimeMillis());
> OR
> java.sql.Date entryDttm = new java.sql.Date(new
> java.util.Date().getTime());
>
>
> // prepared statement insert
> pstmt.setDate(1, entryDttm);
> // what is written to database
> 2007-02-07 12:00:00.000
>
>
> // what needs to be written
> 2007-02-08 09:37:25.793
Oh-oh. Since I don't know Java or JDBC, I don't have any idea of what
is going on. But use the Profiler to see what is sent to SQL Server.
> How can I replicate the results of GETDATE() into 'datetime' and
> 'smalldatetime' fields in
> a MS-SQL Server database (or is it possible?). Would a timestamp
> datatype make more sense?
No, timestamp would not make any sense at all. This is an 8-byte
value that is automatically updated everytime the row is updated.
It has no relation to date and time.
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
[Back to original message]
|