Re: Using PreparedStatement to call a function

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: José Arthur Benetasso Villanova <jose(dot)arthur(at)gmail(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Using PreparedStatement to call a function
Date: 2006-06-14 19:21:29
Message-ID: 75DA8EE3-3772-4265-B7E8-12F44110EBFC@fastcrypt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Jose,

Check the archives there are a few,

Basically you have to create a class which implements the Array
interface. Most of it can be unimplemented, except for toString which
will have to return

"{string1, string2}"

and

getBaseTypeName()

which will have to return "varchar" in the case of varchar[]

Dave
On 14-Jun-06, at 3:03 PM, José Arthur Benetasso Villanova wrote:

> HI all.
>
> I have a function called:
>
> dbcmp(
> t varchar,
> p varchar[],
> c varchar[],
> n INTEGER
> ) RETURNS SETOF dbcmp_t
> ...
>
>
> Today, I call my function like this:
>
> String sql = "select * from dbcmp('" + t + "','" + p + "','" + "',"
> + n + ")";
> Statement stmt = con.createStatement(sql);
> ResultSet rs = stmt.executeQuery();
> ...
>
> I want to transform my code to use PreparedStatement like this:
>
> String sql = "select * from dbcmp(?, ?, ?, ?)";
> PreparedStatement ps = con.preparedStatement(sql);
> ps.setString(1, t);
> ps.setArray(2, p);
> ps.setArray(3, c);
> ps.setInt(4, n);
>
> But I don´t know how to create an Array object to use the set.
>
> Can anyone help me? :-)
>
> Thanks in advance.
>
> --
> José Arthur Benetasso Villanova
> ICQ 2138887
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
> http://archives.postgresql.org
>

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message surabhi.ahuja 2006-06-15 12:57:17 error code to tell db does not exist
Previous Message José Arthur Benetasso Villanova 2006-06-14 19:03:58 Using PreparedStatement to call a function