Re: passing array as parameters to PrepareStatement or callable statement.[setObject() or setArray()] - Mailing list pgsql-jdbc
From | Jojo Paderes |
---|---|
Subject | Re: passing array as parameters to PrepareStatement or callable statement.[setObject() or setArray()] |
Date | |
Msg-id | 65f9ddfb0511200803q6df02e33l52589649da2be071@mail.gmail.com Whole thread Raw |
In response to | Re: passing array as parameters to PrepareStatement or callable statement.[setObject() or setArray()] (Dave Cramer <pg@fastcrypt.com>) |
Responses |
Re: passing array as parameters to PrepareStatement or callable
|
List | pgsql-jdbc |
Is the Array class used in the method refers to java.sql.Array? If yes, I think it's not possible to use that to create an object since it is an interface. On 11/14/05, Dave Cramer <pg@fastcrypt.com> wrote: > This is from a previous post. > > Dave > public static Array convertIntegerToPgSqlArray(final int[] p) { > if(p == null || p.length < 1) return null; > Array a = new Array() { > public String getBaseTypeName() {return "int4";} > public int getBaseType() {return 0;} > public Object getArray() {return null;} > public Object getArray(Map<String, Class<?>> map) {return null;} > public Object getArray(long index, int count) {return null;} > public Object getArray(long index, int count, Map<String, > Class<?>> map) {return null;} > public ResultSet getResultSet() {return null;} > public ResultSet getResultSet(Map<String, Class<?>> map) > {return null;} > public ResultSet getResultSet(long index, int count) {return > null;} > public ResultSet getResultSet(long index, int count, > Map<String, Class<?>> map) {return null;} > > public String toString() { > String fp = "{"; > if(p.length == 0) { > } else { > for(int i = 0; i < p.length - 1; i++) fp += p[i] + ","; > fp += p[p.length - 1]; > } > fp+="}"; > return fp; > } > }; > > On 13-Nov-05, at 6:56 PM, Assad Jarrahian wrote: > > > 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 > >> > > > > ---------------------------(end of > > broadcast)--------------------------- > > TIP 6: explain analyze is your friend > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > -- You can make a difference! http://gawadkalinga.org http://www.childrenshour.org.ph http://www.handsonmla.org http://groups.yahoo.com/group/pinoyjug http://jojopaderes.blogsome.com http://jojopaderes.multiply.com "In preparing for battle I have always found that plans are useless, but planning is indispensable." - Eisenhower
pgsql-jdbc by date: