Hi,
Below if the code with result set to reproduce the problem.
Thanks,
-Prasanth.
import java.sql.*;
import java.util.Calendar;
public class TestDate2 {
public static void main(String[] args) throws Exception {
Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection(args[0]);
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
try {
stmt.executeUpdate("DROP TABLE testdate2");
} catch (SQLException e) {}
stmt.executeUpdate("CREATE TABLE testdate2(id int4 primary key, d
date)");
stmt.executeUpdate("INSERT INTO testdate2(id, d) VALUES
(1,'10000/02/01')");
Calendar c = Calendar.getInstance();
c.set(Calendar.MONTH, 1);
c.set(Calendar.DATE, 1);
c.set(Calendar.YEAR, 10000);
Date d = new Date(c.getTimeInMillis());
ResultSet rs = stmt.executeQuery("SELECT * FROM testdate2");
while (rs.next()) {
rs.updateDate("d", d);
rs.updateRow();
d = rs.getDate("d");
System.out.println("Got date: " + d);
}
rs.close();
stmt.close();
conn.close();
}
}
-----Original Message-----
From: Oliver Jowett [mailto:oliver@opencloud.com]
Sent: Saturday, August 20, 2005 8:11 AM
To: dbadmin@nqadmin.com
Cc: pgsql-jdbc@postgresql.org
Subject: Re: [JDBC] Bad value for type date
Prasanth wrote:
> Below is a small program to test the JDBC date issue I have having.
>
> I am able to set the date "2/1/10000". But it fails to retrieve it.
>
> If it is invalid date then it should not even update the database right?
I can't reproduce this; the attached testcase produces this against my
8.0 install:
Inserting date: 10000-02-01 AD +1300
Got date: 10000-02-01 AD +1300
Got date: 10000-02-01 AD +1300
I get this using both the -310 driver and a build from CVS HEAD.
You'll need to give us a compilable testcase that shows the problem to
take this any further. The code you provided originally doesn't compile
out-of-the-box, is missing schema information, and has a syntactically
incorrect query..
It'd also help if you can reproduce your problem without involving a
RowSet implementation.
-O