Thread:

From
"MUKTA"
Date:
Hi I have an urgent problem
I want to insert values into a table using the C syscalls provided by the libpq library, but i find that i can not insert into the table when i use variables instead of values...like so:
int a,b,c,d;
using the C function
 
res=PQexecute(Conn,"INSERT into table values(a,b,c,d));....
 
executing above statement with plain integers does fine and inserts them into table..
 
Is there some special way to insert variables rather than plain values? do i have to build functions (in sql) or somehting?help!
Thanx

Re:

From
"Viorel Dragomir"
Date:
So, you are an artist. Isn't it? :)
Your query is actually a string.
This is your string: INSERT into table values(a,b,c,d)
 
You must change your string to actually use values of tha a, b...
You can make this string with sprintf
sprintf(string, "INSERT into table values(%d,%d,%d,%d)", a, b, c, d);
 
Then you launch:
res=PQexecute(Conn, string);
 
Why don't you use PHP? Is easier.
 
Have a nice day
----- Original Message -----
From: MUKTA
Sent: Thursday, January 29, 2004 15:08
Subject: [SQL]

Hi I have an urgent problem
I want to insert values into a table using the C syscalls provided by the libpq library, but i find that i can not insert into the table when i use variables instead of values...like so:
int a,b,c,d;
using the C function
 
res=PQexecute(Conn,"INSERT into table values(a,b,c,d));....
 
executing above statement with plain integers does fine and inserts them into table..
 
Is there some special way to insert variables rather than plain values? do i have to build functions (in sql) or somehting?help!
Thanx

Re:

From
Date:
You might also consider using ecpg which allows a syntax like:

int a, b, c;
EXEC SQL INSERT INTO mytable ( :a, :b, :c );

See http://www.postgresql.org/docs/current/interactive/ecpg.html for
details.

HTH

Jürgen


Viorel Dragomir <bc@vio.ro> schrieb am 29.01.2004, 14:11:44:
> So, you are an artist. Isn't it? :)
> Your query is actually a string.
> This is your string: INSERT into table values(a,b,c,d)
> 
> You must change your string to actually use values of tha a, b...
> You can make this string with sprintf
> sprintf(string, "INSERT into table values(%d,%d,%d,%d)", a, b, c, d);
> 
> Then you launch:
> res=PQexecute(Conn, string);
> 
> Why don't you use PHP? Is easier.
> 
> Have a nice day
>   ----- Original Message ----- 
>   From: MUKTA 
>   To: pgsql-sql@postgresql.org 
>   Sent: Thursday, January 29, 2004 15:08
>   Subject: [SQL] 
> 
> 
>   Hi I have an urgent problem
>   I want to insert values into a table using the C syscalls provided by the libpq library, but i find that i can not
insertinto the table when i use variables instead of values...like so:
 
>   int a,b,c,d;
>   using the C function 
> 
>   res=PQexecute(Conn,"INSERT into table values(a,b,c,d));....
> 
>   executing above statement with plain integers does fine and inserts them into table..
> 
>   Is there some special way to insert variables rather than plain values? do i have to build functions (in sql) or
somehting?help!
>   Thanx


Re:

From
"MUKTA"
Date:
Hi!!
 wow, ur help was extremely helpfull! thanx a bunch! i just joined this pgsql project 2 days ago so i dunno bout php etc, i guess i wont need to use the ecpg stuff for now..
Thanx a lot!
Bye
PS: how did u know i was an artist! :)
----- Original Message -----
Sent: Thursday, January 29, 2004 6:41 PM
Subject: Re: [SQL]

So, you are an artist. Isn't it? :)
Your query is actually a string.
This is your string: INSERT into table values(a,b,c,d)
 
You must change your string to actually use values of tha a, b...
You can make this string with sprintf
sprintf(string, "INSERT into table values(%d,%d,%d,%d)", a, b, c, d);
 
Then you launch:
res=PQexecute(Conn, string);
 
Why don't you use PHP? Is easier.
 
Have a nice day
----- Original Message -----
From: MUKTA
Sent: Thursday, January 29, 2004 15:08
Subject: [SQL]

Hi I have an urgent problem
I want to insert values into a table using the C syscalls provided by the libpq library, but i find that i can not insert into the table when i use variables instead of values...like so:
int a,b,c,d;
using the C function
 
res=PQexecute(Conn,"INSERT into table values(a,b,c,d));....
 
executing above statement with plain integers does fine and inserts them into table..
 
Is there some special way to insert variables rather than plain values? do i have to build functions (in sql) or somehting?help!
Thanx

Re:

From
"Chris Travers"
Date:
You can also use PGexecParams() (see the libpq documentation).  It can be a little more cumbersome to use, though.
 
Best Wishes,
Chris Travers
----- Original Message -----
From: MUKTA
Sent: Thursday, January 29, 2004 8:08 PM
Subject: [SQL]

Hi I have an urgent problem
I want to insert values into a table using the C syscalls provided by the libpq library, but i find that i can not insert into the table when i use variables instead of values...like so:
int a,b,c,d;
using the C function
 
res=PQexecute(Conn,"INSERT into table values(a,b,c,d));....
 
executing above statement with plain integers does fine and inserts them into table..
 
Is there some special way to insert variables rather than plain values? do i have to build functions (in sql) or somehting?help!
Thanx