From: | Assad Jarrahian <jarraa(at)gmail(dot)com> |
---|---|
To: | Kris Jurka <books(at)ejurka(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: passing array as parameters to PrepareStatement or callable statement.[setObject() or setArray()] |
Date: | 2005-11-13 23:56:31 |
Message-ID: | 4bd3e1480511131556o58dbeae8y7a08dc55927010e0@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Hi Kris and all,
So I did a quick google search and found out all I need in my new
class that implements Array is getBaseType() and toString() [I am not
sure this is true since it is not working! Either that or I am doing
something wrong]
Code below
public class IDArray implements Array{
protected int[] myArray;
public IDArray(int[] temp ){
....
}
public int getBaseType() throws SQLException {
return Types.INTEGER;
}
public String toString(){
String temp = new String();
temp+="{";
for (int i=0;i<arraySize; ++i){
temp += myArray[i];
if (i!=arraySize-1)
temp +=",";
}
temp+="}";
return temp;
}
}
When I call it in my java code using
IDArray LM_IDs = new IDArray(new int[]{3,4,5});
getAssociatedLMs.setObject(1, LM_IDs, java.sql.Types.ARRAY);
I get an exception thrown (I cant figure this one out).
-1 Unknown type _null. [errorCode message]
Any pointers help, would be much appreciated. Thanks.
-assad
On 11/13/05, Kris Jurka <books(at)ejurka(dot)com> wrote:
>
>
> On Sat, 12 Nov 2005, Assad Jarrahian wrote:
>
> > Hello all,
> > my apologies if this question has been asked before. I looked
> > through the archives could not find the relevant info (if I overlooked
> > something, sorry).
> >
> > int[] intarray = new int[1];
> > getAssociatedLMs.setObject(1, intarray, java.sql.Types.ARRAY);
> > //getAssociatedLM's is a callable statement ("{call getLMs(?,?) } ");
> >
> > so I get a compilation error saying
> > org.postgresql.util.PSQLException: Cannot cast an instance of [I to
> > type Types.ARRAY
>
> Currently the driver only supports passing a specific implementation of
> java.sql.Array to setObject (and setArray). Other people have posted
> helper classes to transform some specific java array types to
> java.sql.Array, but these have not been generalized and added to the
> driver.
>
> Kris Jurka
>
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2005-11-14 00:16:32 | Re: passing array as parameters to PrepareStatement or callable statement.[setObject() or setArray()] |
Previous Message | Kris Jurka | 2005-11-13 19:02:22 | Re: prepareThreshold=1 and statement.executeBatch() ?? |