Arrays and setObject problem

From: Rafał Staniszewski <rafal-staniszewski(at)o2(dot)pl>
To: JDBC-postgre-list <pgsql-jdbc(at)postgresql(dot)org>
Subject: Arrays and setObject problem
Date: 2004-07-02 11:43:03
Message-ID: 40E54A47.1020207@o2.pl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi all,

During development of my web application I found a problem I can't handle.
I have a relation:

CREATE TABLE public.test
(
id int4,
tab varchar[]
) WITHOUT OIDS;

Using jdbc and prepared statement I'm trying to put data into this table:

public add(Connection conn,int id,Vector v) {

PreparedStatement pstmt = conn.prepareStatement("insert into
test(id,tab) values(?,?)");
pstmt.setInt(1,id);
pstmt.setObject(2,v.toArray());
pstmt.executeUpdate();
pstmt.close();
}

When I run this I get:
e.getErrorCode() -> 0
e.getMessage() -> ERROR: missing dimension value
e.getSQLState() -> 22P02

I tried to change 'pstmt.setObject(2,v.toArray());' with:

String[] att = new String[v.size()];
for(int i=0;i<v.size();i++) {
att[i] = v.get(i).toString();
// and also with
// att[i] = (String)v.get(i)
}
pstmt.setObject(2,att);

but still the same error occurred.

I'm using:
postegresql: 7.4.2
jdbc driver: pg74.213.jdbc3.jar

Thanks in advance for help.

Rafal Staniszewski

Browse pgsql-jdbc by date

  From Date Subject
Next Message Steven Bell 2004-07-02 18:21:41 Listing Database
Previous Message Kris Jurka 2004-07-02 10:24:54 Re: Issue with now() within a transaction in pg74.213.jdbc.jar