java.sql.Date truncated when written to DB. How to obtain full date?

D

ddog

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 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 field is stored in a MS SQL Server 8.0 database and is defined as
a 'datatime' field. Using JDK 1.5.

What do I need to do to have the minutes/seconds/milliseconds written?
 
R

Rayle

not sure but i didi some of this with a school project.. double check
your mysql syntax on date time... i believe that it is 16 digits in
length... 4 for year 2 for month etc so it is only 2 for milliseconds
and if the format is incorrect it uses the default value of
12:00:00:00

should be in the mysql manual... i am almost positive i am correct
 
M

Manish Pandit

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 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 field is stored in a MS SQL Server 8.0 database and is defined as
a 'datatime' field. Using JDK 1.5.

What do I need to do to have the minutes/seconds/milliseconds written?

Can you try using TimeStamp instead? I've not used Dates, but used
TimeStamps and have never had a problem. Another thing to try would be
to use sysdate( ) or now( ) in the jdbc statement - this will put the
database time in the field.

Also. make sure the field type is DateTime or TimeStamp in MySQL.

-cheers,
Manish
 
L

Lew

ddog said:
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

You multi-posted this one to comp.databases as "Re: java.sql.Date value
truncated using JDBC in MS-SQL Server".

Follow-up set to cljp. Please cease multi-posting. Use cross-posting if you
really want multiple groups.

Andrew - you missed this one?

- Lew
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,767
Messages
2,569,570
Members
45,045
Latest member
DRCM

Latest Threads

Top