Don't pass in the double-quotes in your call. In other words:
strcat(querystr,"DECLARE mycursor CURSOR FOR select * from currpass
where sitename = \'tvl\'");
should work.
Tim
----- Original Message -----
From: "Vikash Badal" <vikashb@mweb.co.za>
To: <pgsql-general@postgresql.org>
Sent: Thursday, February 14, 2002 9:55 PM
Subject: [GENERAL] Using variables from c to be passed into PQexec
> Greetings,
>
> I am a novice programmer and I am now totally lost,
> I've been through the web trying to find a solution,
> If I've posted on the wrong place please advise.
>
>
> If I have this line in the code, I get there desired result.
> res = PQexec(conn, "DECLARE mycursor CURSOR FOR select * from currpass
> where sitename = 'tvl'");
> I get :
> ------------------------------------------------------------------
> sitename password date time
>
> tvl Zb0sj1sds 2002-02-13 12:21:00
> ------------------------------------------------------------------
>
> If I do this:
> strcat(querystr,"\"DECLARE mycursor CURSOR FOR select * from currpass
> where sitename = \'tvl\'\");
> fprintf(stdout,"%s\n", querystr);
> res = PQexec(conn, querystr);
>
> I get
> --------------------------------------------------------------------------
-
> Output of fprintf:
> "DECLARE mycursor CURSOR FOR select * from currpass where sitename =
> 'tvl'"
>
> Error Message:
> NOTICE: identifier "DECLARE mycursor CURSOR FOR select * from
> currpass where si
> tename = 'tvl'" will be truncated to "DECLARE mycursor CURSOR FOR sel"
> DECLARE CURSOR command failed
>
> --------------------------------------------------------------------------
---
>
> What am I missing ?
>
> Please assist
>
> Vikash
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>