java and postgresql 6.5

Lists: pgsql-interfaces
From: "Alf Lewerken" <lewerken(at)mail(dot)bicos(dot)de>
To: <pgsql-interfaces(at)postgreSQL(dot)org>
Subject: libpq++ and arrays?
Date: 1999-05-14 21:07:56
Message-ID: 000f01be9e4d$d7cc186000000a@sgi320.lewerkenedv.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-interfaces

Hi all

I have the following problem:
I'm using libpq++ to acces a Postgres-Database.

The table was created in psql using:
create table test values (nr int4, some_value float4[]);

in my C++-program a piece of code is:

main()
{
char *nr_string, *some_other_string;

PgDatabase test(pgenv, "test");
test.Exec("begin");
test.Exec("declare c cursor for select * from test");

for(int i=0; i<test.Tuples();i++)
{
nr_string = test.GetValue(i, "nr"); // obtaining the value in 'nr' is easy

some_other_string = test.GetValue(i, "some_value[1]"); // this gives an error
// PQgetvalue: ERROR! field number -1 is out of range

// so how do I obtain values in some_value[1], some_value[2] .... ?
}
}

any help would be appreciated.

bye

Alf Lewerken


From: "Patrick Welche" <prlw1(at)newn(dot)cam(dot)ac(dot)uk>
To: lewerken(at)mail(dot)bicos(dot)de (Alf Lewerken)
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: [INTERFACES] libpq++ and arrays?
Date: 1999-05-15 11:38:14
Message-ID: E10icli-0001zG-00@quartz.newn.cam.ac.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-interfaces

Alf Lewerken wrote:
>
> I have the following problem:
> I'm using libpq++ to acces a Postgres-Database.
>
> The table was created in psql using:
> create table test values (nr int4, some_value float4[]);
...
> // so how do I obtain values in some_value[1], some_value[2] .... ?

How about

create table test (nr int4, some_value float4[]);
insert into test values (1,'{1,2,3}');
insert into test values (2,'{2,4,6}');
insert into test values (3,'{3,6,9}');

#include <iostream>
#include <libpq++.h>

int main()
{
const char *nr_string, *val1, *val2;

PgDatabase test("test");
test.Exec("select nr,test.some_value[1] as val1, test.some_value[2] as val2 "
"from test");

for(int i=0; i<test.Tuples();i++)
{
nr_string = test.GetValue(i, "nr");
val1 = test.GetValue(i, "val1");
val2 = test.GetValue(i, "val2");
cout<<"nr_string: "<<nr_string
<<"\nsome_value[1]: "<<val1
<<"\nsome_value[2]: "<<val2<<'\n';
}

return 0;
}

% a.out
nr_string: 1
some_value[1]: 1
some_value[2]: 2
nr_string: 2
some_value[1]: 2
some_value[2]: 4
nr_string: 3
some_value[1]: 3
some_value[2]: 6

Add cursors to taste :)

Cheers,

Patrick


From: <yves(at)vlaanderen(dot)net>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: java and postgresql 6.5
Date: 1999-07-08 13:32:20
Message-ID: Pine.LNX.4.10.9907081518440.19735-100000@asua.vlaanderen.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-interfaces

I've been upgrading postgresql 6.4.2 to 6.5. It seems like the jdbc driver
included with postgres 65 doesn't work correctly:

java.lang.IllegalArgumentException: Argument # > Arg length

or am i doing something wrong ?

-Yves

On Fri, 14 May 1999, Alf Lewerken wrote:

> Hi all
>
> I have the following problem:
> I'm using libpq++ to acces a Postgres-Database.
>
> The table was created in psql using:
> create table test values (nr int4, some_value float4[]);
>
> in my C++-program a piece of code is:
>
> main()
> {
> char *nr_string, *some_other_string;
>
> PgDatabase test(pgenv, "test");
> test.Exec("begin");
> test.Exec("declare c cursor for select * from test");
>
> for(int i=0; i<test.Tuples();i++)
> {
> nr_string = test.GetValue(i, "nr"); // obtaining the value in 'nr' is easy
>
> some_other_string = test.GetValue(i, "some_value[1]"); // this gives an error
> // PQgetvalue: ERROR! field number -1 is out of range
>
> // so how do I obtain values in some_value[1], some_value[2] .... ?
> }
> }
>
> any help would be appreciated.
>
>
> bye
>
>
> Alf Lewerken
>

=================================================================
First, they ignore you.
Then they laugh at you.
Then they fight you.
Then you win.
-- M. Ghandi