472,121 Members | 1,443 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,121 software developers and data experts.

Full date value not being written via JDBC - any ideas?

Hi,
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

The above date value is written when I insert using the SQL method
GETDATE()

The field is stored in a MS SQL Server 8.0 database and is defined as
a 'datatime' or 'smalldatetime' field.

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?

I'm using MS_SQL Server JDBC drivers.

Any advice would be GREATLY appreciated!

Feb 8 '07 #1
2 5677
MackTheKnife (wg********@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, es****@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pro...ads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinf...ons/books.mspx
Feb 8 '07 #2
On Feb 8, 2:32 pm, "MackTheKnife" <wgblack...@yahoo.comwrote:
Hi,
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

The above date value is written when I insert using the SQL method
GETDATE()

The field is stored in a MS SQL Server 8.0 database and is defined as
a 'datatime' or 'smalldatetime' field.

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?

I'm using MS_SQL Server JDBC drivers.

Any advice would be GREATLY appreciated!
Hi. You should instead construct a java.sql.Timestamp and send it via
setTimestamp(). A java.sql.Date is a *date*. The time portion is
normalized
to zero.

Joe Weinstein at BEA Systems

Feb 9 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

4 posts views Thread by billb | last post: by
1 post views Thread by balleyman47 | last post: by
12 posts views Thread by Assimalyst | last post: by
9 posts views Thread by Kenevel | last post: by
9 posts views Thread by TC | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.