Thread: Fwd: JDBC Array double precision [] error

Fwd: JDBC Array double precision [] error

From
Juan Pablo Cook
Date:
Hi everyone! I need your help with this problem.
 
I'm using PostgreSQL 9.2 Server & the latest jdbc driver: postgresql-9.2-1002.jdbc4.jar

I have a table with this column array: 
 -- histograma double precision[]

And I want to retrieve this and cast into java to double[] but I can't.

This is the extract of the code:

Statement stat1 = con.createStatement();
ResultSet rs1 = stat1.executeQuery("SELECT * FROM \"Vector\");

while (rs1.next()) {

double[] array = (double[]) rs1.getArray("histograma").getArray();

}

And the error: 
"
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: [Ljava.lang.Double; cannot be cast to [D
"
Also I tried to do a for loop but didn't work.

Can you help me? 

Thanks a lot! ;)


Re: Fwd: JDBC Array double precision [] error

From
Hannes Erven
Date:
Hi Juan Pablo,


 > double[] array = (double[]) rs1.getArray("histograma").getArray();
> java.lang.ClassCastException:  [Ljava.lang.Double; cannot be cast to [D


The error message already tells you the solution: use Double, not double.

Like this:
Double[] array = (Double[]) rs1.getArray("histograma").getArray();


Best regards,

    -hannes


Re: Fwd: JDBC Array double precision [] error

From
Juan Pablo Cook
Date:
Hi Hannes... 
Thanks a lot for your help! 
I was stuck being many many hours trying and googling it the problem but didn't realize that.

This: Double[] array = (Double[]) rs1.getArray("histograma").getArray(); solve my problem!

Thanks again!!

Juan Cook




On Sun, Mar 31, 2013 at 7:38 PM, Hannes Erven <hannes@erven.at> wrote:
Hi Juan Pablo,



> double[] array = (double[]) rs1.getArray("histograma").getArray();
java.lang.ClassCastException:  [Ljava.lang.Double; cannot be cast to [D


The error message already tells you the solution: use Double, not double.

Like this:
Double[] array = (Double[]) rs1.getArray("histograma").getArray();


Best regards,

        -hannes