Thread: Re: [QUESTIONS] Accessing Postgresfrom JBuilder using JDBC

Re: [QUESTIONS] Accessing Postgresfrom JBuilder using JDBC

From
Peter T Mount
Date:
On Tue, 24 Mar 1998, Patrick Scott Pierce wrote:

> It would seem that the Timestamp in the getTimestamp method in
> ResultData.java is adding three hours to the time.  I hacked it up and
> simply parsed up what was coming in, created a new Timestamp and it still
> added one hour.  I then subtract a single hour but this is not the best
> solution although it works and I can now save Timestamps back to the
> database.

I have come across this before. If you look at the driver source, you'll
see a hack which adds a day when creating a Date object. It's caused by an
obscure bug in the JDK (seen it in 1.1.3 & 1.1.5)

> PS. This thread should probably move over to the interfaces list.

Good idea.

--
Peter T Mount  petermount@earthling.net or pmount@maidast.demon.co.uk
Main Homepage: http://www.demon.co.uk/finder
Work Homepage: http://www.maidstone.gov.uk Work EMail: peter@maidstone.gov.uk


Re: [QUESTIONS] Accessing Postgresfrom JBuilder using JDBC

From
Patrick Scott Pierce
Date:
Peter,

In case anyone ask:

Here is what I did to ResultSet.java to get the proper Timestamp:
  public Timestamp getTimestamp(int columnIndex) throws SQLException
  {
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sszzz");
    df.setTimeZone(TimeZone.getDefault());
    String s = getString(columnIndex);
    if (s != null)
      {
        try {
          java.util.Date d = df.parse(s);
          return new Timestamp(d.getTime());
        } catch (ParseException e) {
          throw new SQLException("Bad Timestamp Format: at " +
e.getErrorOffset() + "
 in " + s);
        }
      }
    return null;                // SQL NULL
  }

It allows me to update Timestamp on jbuilder.  I don't know what the
ramifications are elsewhere.

I never did look into the authorization wierdness.  Frankly, it works and
I don't have time to figure out why ;)  I did some stuff to getDate to get
it to work for me as well if anyone has a problem.  I don't know how much
of this would effect people not using jbuilder so it may be a moot point.

Patrick Scott Pierce
pspierce@mindspring.com
CGI Programming
Mindspring Enterprises




On Tue, 24 Mar 1998, Peter T Mount wrote:

> Date: Tue, 24 Mar 1998 19:41:53 +0000 (GMT)
> From: Peter T Mount <postgresdev@maidast.demon.co.uk>
> To: Patrick Scott Pierce <pspierce@slacker.design.mindspring.net>
> Cc: pgsql-interfaces@postgreSQL.org
> Subject: Re: [QUESTIONS] Accessing Postgresfrom JBuilder using JDBC
>
> On Tue, 24 Mar 1998, Patrick Scott Pierce wrote:
>
> > It would seem that the Timestamp in the getTimestamp method in
> > ResultData.java is adding three hours to the time.  I hacked it up and
> > simply parsed up what was coming in, created a new Timestamp and it still
> > added one hour.  I then subtract a single hour but this is not the best
> > solution although it works and I can now save Timestamps back to the
> > database.
>
> I have come across this before. If you look at the driver source, you'll
> see a hack which adds a day when creating a Date object. It's caused by an
> obscure bug in the JDK (seen it in 1.1.3 & 1.1.5)
>
> > PS. This thread should probably move over to the interfaces list.
>
> Good idea.
>
> --
> Peter T Mount  petermount@earthling.net or pmount@maidast.demon.co.uk
> Main Homepage: http://www.demon.co.uk/finder
> Work Homepage: http://www.maidstone.gov.uk Work EMail: peter@maidstone.gov.uk
>


Re: [QUESTIONS] Accessing Postgresfrom JBuilder using JDBC

From
Peter T Mount
Date:
On Wed, 25 Mar 1998, Patrick Scott Pierce wrote:

> Peter,
>
> In case anyone ask:
>
> Here is what I did to ResultSet.java to get the proper Timestamp:
>   public Timestamp getTimestamp(int columnIndex) throws SQLException
>   {
>     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:sszzz");
>     df.setTimeZone(TimeZone.getDefault());
>     String s = getString(columnIndex);
>     if (s != null)
>       {
>         try {
>           java.util.Date d = df.parse(s);
>           return new Timestamp(d.getTime());
>         } catch (ParseException e) {
>           throw new SQLException("Bad Timestamp Format: at " +
> e.getErrorOffset() + "
>  in " + s);
>         }
>       }
>     return null;                // SQL NULL
>   }
>
> It allows me to update Timestamp on jbuilder.  I don't know what the
> ramifications are elsewhere.

I'm working on the driver this weekend, so I'll test it out then.

> I never did look into the authorization wierdness.  Frankly, it works and
> I don't have time to figure out why ;)  I did some stuff to getDate to get
> it to work for me as well if anyone has a problem.  I don't know how much
> of this would effect people not using jbuilder so it may be a moot point.

I'll be interested in seeing any changes that you made to get you working.

--
Peter T Mount  petermount@earthling.net or pmount@maidast.demon.co.uk
Main Homepage: http://www.demon.co.uk/finder
Work Homepage: http://www.maidstone.gov.uk Work EMail: peter@maidstone.gov.uk