Re: [SQL] What JDBC datatype can be used for DATETIME ? - Mailing list pgsql-sql
From | Esteban Chiner Sanz |
---|---|
Subject | Re: [SQL] What JDBC datatype can be used for DATETIME ? |
Date | |
Msg-id | 37BCF9E6.403A5EA8@tissat.es Whole thread Raw |
In response to | What JDBC datatype can be used for DATETIME ? (jon@it-konsulenterne.dk (Jon Windfeld Bundesen)) |
List | pgsql-sql |
I had the same problem and I finally ended up using the timestamp type in postgres and using the getTimestamp function y Java. That worked fine for me. Esteban Chiner Jon Windfeld Bundesen escribió: > I'm trying to read a DATETIME field from my Pg 6.4.2 using JDBC. > > When i try reading the date from my ResultSet using ResultSet.getDate() > i get an error stating: > > java.sql.SQLException: Bad Date Format: at 0 in Thu Aug 19 12:19:52 1999 > > CEST > at postgresql.ResultSet.getDate(ResultSet.java:407) > at TestDate.main(TestDate.java:32) > > When i try using ResultSet.getTimestamp() instead, i also get an error: > java.lang.NumberFormatException: 1999 CEST > at java.lang.Float.<init>(Float.java) > at postgresql.ResultSet.getTimestamp(ResultSet.java:455) > at TestDate.main(TestDate.java:32) > > I CAN use getString(), but i'd like to get a real Date object, not just > a String. Can anyone help ? > > Best regards, > Jon Bundesen. > > Here is the code if anyone is interested: > =========================== > > Table = foo > +----------------------------------+----------------------------------+-------+ > > | Field | > Type | Length| > +----------------------------------+----------------------------------+-------+ > > | dt | > datetime | 8 | > +----------------------------------+----------------------------------+-------+ > > import java.sql.*; > import java.sql.Date; > > public class TestDate { > > public static void main (String args[]) > throws Exception > { > Connection con; > Statement statement; > PreparedStatement preparedStatement; > ResultSet rs; > // String url = "jdbc:postgresql:test1"; > String url = "jdbc:postgresql://127.0.0.1:5432/test1"; > > Class.forName("postgresql.Driver"); > con = DriverManager.getConnection(url, "jon", ""); > con.setAutoCommit( false ); > > // > > statement = con.createStatement(); > statement.executeUpdate("insert into foo values ( current_timestamp > )"); > con.commit(); > statement.close(); > > // > > statement = con.createStatement(); > rs = statement.executeQuery("SELECT * FROM foo"); > while (rs.next()) { > System.out.println("Result: " + rs.getTimestamp(1)); > //System.out.println("Result: " + rs.getDate(1)); > } > rs.close(); > statement.close(); > > // > > con.close(); > } > } > > ************ ------------------------------------------------------------Esteban Chiner Sanz mailto (work): echiner@tissat.esTISSATAv.Aragon, 30, 5ª planta Phone: 96 393 9950Valencia (SPAIN)