Re: Array paramiters

Поиск
Список
Период
Сортировка
От Pete Lewin-Harris
Тема Re: Array paramiters
Дата
Msg-id 46657959.1080206@kinomi.com
обсуждение исходный текст
Ответ на Re: Array paramiters  ("ben sagal" <bsagal@gmail.com>)
Список pgsql-jdbc
If I undestand you correctly you're looking for something like (in
pseudo-non-working-code):

     int[] num = new int[]{1,2,3};
     PreparedStatement ps = new PreparedStatement(
          "SELECT * FROM items WHERE id IN ?");
     ps.setArray(num);
     ps.executeQuery();

If this is the case, then I'm pretty sure your answer's no. I've wanted
this a few times and haven't found anything. Your best answer is what
Andreas suggested.

cheers, Pete


ben sagal wrote:
> I would ideally like to use a prepared statement, in which i can on each
> execution insert a different array? the method u suggest will not allow
> use of a prepared statement.
>
> thanks Ben
>
>
> On 6/5/07, *Andreas Joseph Krogh* <andreak@officenet.no
> <mailto:andreak@officenet.no>> wrote:
>
>     On Tuesday 05 June 2007 16:23:29 ben sagal wrote:
>      > is there any way to do that with a variable amount of elements in
>     the
>      > array?
>
>     I'm not quite sure what you mean?
>     Say you have the following:
>
>     int[] num = new int[]{1,2,3};
>     StringBuffer sb = new StringBuffer();
>     sb.append("SELECT * FROM items WHERE id IN(").append(generateCSV("?",
>     num.length)).append(")");
>     for (int i = 0; i < num.length; i++) {
>            ps.setInt(i, num[i]);
>     }
>     ps.executeQuery();
>
>     The generateCSV-method must return a comma-separated String, in this
>     case the
>     String "?,?,?", because num-array has length==3.
>
>     then num-array can be of any lenth you want.
>
>     --
>     Andreas Joseph Krogh <andreak@officenet.no
>     <mailto:andreak@officenet.no>>
>     Senior Software Developer / Manager
>     ------------------------+---------------------------------------------+
>     OfficeNet AS            | The most difficult thing in the world is to |
>     Karenslyst Allé 11      | know how to do a thing and to watch         |
>     PO. Box 529 Skøyen      | somebody else doing it wrong, without       |
>     0214 Oslo               | comment.                                    |
>     NORWAY                  |                                             |
>     Tlf:    +47 24 15 38 90 |                                             |
>     Fax:    +47 24 15 38 91 |                                             |
>     Mobile: +47 909  56 963 |                                             |
>     ------------------------+---------------------------------------------+
>
>     ---------------------------(end of broadcast)---------------------------
>     TIP 1: if posting/reading through Usenet, please send an appropriate
>           subscribe-nomail command to majordomo@postgresql.org
>     <mailto:majordomo@postgresql.org> so that your
>           message can get through to the mailing list cleanly
>
>

--
Pete Lewin-Harris
Senior Software Engineer
Tel: 020 7788 4388
Email: pete@kinomi.com

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

Предыдущее
От: Andreas Joseph Krogh
Дата:
Сообщение: Re: Connection Pool
Следующее
От: Gregory Stark
Дата:
Сообщение: Re: Array paramiters