Thread:
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
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: MUKTASent: Thursday, January 29, 2004 15:08Subject: [SQL]Hi I have an urgent problemI 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 functionres=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
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
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 -----From: Viorel DragomirSent: Thursday, January 29, 2004 6:41 PMSubject: 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 sprintfsprintf(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: MUKTASent: Thursday, January 29, 2004 15:08Subject: [SQL]Hi I have an urgent problemI 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 functionres=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
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: MUKTASent: Thursday, January 29, 2004 8:08 PMSubject: [SQL]Hi I have an urgent problemI 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 functionres=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