Re: Prepared Statement Joda Time
- From: "joeNOSPAM@xxxxxxx" <joe.weinstein@xxxxxxxxx>
- Date: 14 Feb 2007 08:31:37 -0800
On Feb 14, 6:45 am, "Jim Bailey" <n...@xxxxxxxx> wrote:
Knowing I'd be manipulating some dates/times, I thought I'd try the Joda
Time classes form SourceForge in this app. However, it seems to be
complicating, rather than aiding so far. It's a Swing app with SqlServer DB.
BTW: The statement itself works fine if i just pass a literal string for a
date instead of the "?".
private String autoQuery = "select 3, isnull(count(*), 0) " +
"from a_table " +
"where source_type = 4 and fk_status = 3 " +
"and create_date > ?";
PreparedStatement stmt = connection.prepareStatement(autoQuery);
// variable dt is created from org.joda.time.DateTime and passed into this
method
stmt.setDate(1, dt);
the setDate method doesn't like the Joda DateTime type so i tried to
convert:
java.sql.Date jd = new java.sql.Date(dt.toDateTime()); // supposed to
convert to JDK type
but this constructor still doesn't like the type. Plus - I found that
java.sql.Date zeros the time, and i need the seconds
There should be an easier way to do this that I'm missing somehow. Can
anyone be of assistance ?
jim
You should create and use a java.sql.Timestamp, not a java.sql.Date.
By spec, the java.sql.Date has no time element.
Joe Weinstein at BEA Systems
.
- References:
- Prepared Statement Joda Time
- From: Jim Bailey
- Prepared Statement Joda Time
- Prev by Date: Some indexes not used in JDBC call
- Next by Date: Re: Using Java EE Connection Pools
- Previous by thread: Prepared Statement Joda Time
- Next by thread: Some indexes not used in JDBC call
- Index(es):