What JDBC datatype can be used for DATETIME ?

From: jon(at)it-konsulenterne(dot)dk (Jon Windfeld Bundesen)
To: pgsql-sql(at)postgresql(dot)org
Subject: What JDBC datatype can be used for DATETIME ?
Date: 1999-08-19 15:42:05
Message-ID: 37BC25CD.DB267B3F@it-konsulenterne.dk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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();
}
}

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Nathan Gelbard 1999-08-19 18:37:37 searching time arrays
Previous Message Carlos Henrique Righetto Moreira 1999-08-19 14:30:41 selecting newer rows