Re: passing array as parameters to PrepareStatement or callable statement.[setObject() or setArray()]

Поиск
Список
Период
Сортировка
От Assad Jarrahian
Тема Re: passing array as parameters to PrepareStatement or callable statement.[setObject() or setArray()]
Дата
Msg-id 4bd3e1480511131556o58dbeae8y7a08dc55927010e0@mail.gmail.com
обсуждение исходный текст
Ответ на Re: passing array as parameters to PrepareStatement or callable  (Kris Jurka <books@ejurka.com>)
Ответы Re: passing array as parameters to PrepareStatement or callable statement.[setObject() or setArray()]  (Dave Cramer <pg@fastcrypt.com>)
Список 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@ejurka.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
>

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Kris Jurka
Дата:
Сообщение: Re: prepareThreshold=1 and statement.executeBatch() ??
Следующее
От: Dave Cramer
Дата:
Сообщение: Re: passing array as parameters to PrepareStatement or callable statement.[setObject() or setArray()]