CURSORs and selects with parameters

Started by Dan Sugalskiabout 21 years ago3 messagesgeneral
Jump to latest
#1Dan Sugalski
dan@sidhe.org

When using cursors through the libpq interface, do I need to be
passing in the parameters when I'm FETCHing from them?

I've got some code that uses PQexecParams and does the equivalent of:

DECLARE a_cursor CURSOR FOR SELECT foo, bar FROM baz WHERE field = $1
FETCH NEXT a_cursor

but when I get to the FETCH I'm getting back the error:

ERROR: no value found for parameter 1

which is fair enough, as I'm not *passing* in any parameters to the
fetch. (Yes, I double-checked--the parameter count in the
PQexecParams call is 1 for the cursor declaration, and 0 for the
fetch) Do I have to?
--
Dan

--------------------------------------it's like this-------------------
Dan Sugalski even samurai
dan@sidhe.org have teddy bears and even
teddy bears get drunk

#2Michael Fuhr
mike@fuhr.org
In reply to: Dan Sugalski (#1)
Re: CURSORs and selects with parameters

On Tue, Feb 15, 2005 at 02:32:56PM -0500, Dan Sugalski wrote:

I've got some code that uses PQexecParams and does the equivalent of:

DECLARE a_cursor CURSOR FOR SELECT foo, bar FROM baz WHERE field = $1
FETCH NEXT a_cursor

but when I get to the FETCH I'm getting back the error:

ERROR: no value found for parameter 1

What version of PostgreSQL are you using? I think this is fixed
in 8.0.

http://archives.postgresql.org/pgsql-general/2005-01/msg00812.php

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

#3Dan Sugalski
dan@sidhe.org
In reply to: Michael Fuhr (#2)
Re: CURSORs and selects with parameters

At 12:50 PM -0700 2/15/05, Michael Fuhr wrote:

On Tue, Feb 15, 2005 at 02:32:56PM -0500, Dan Sugalski wrote:

I've got some code that uses PQexecParams and does the equivalent of:

DECLARE a_cursor CURSOR FOR SELECT foo, bar FROM baz WHERE field = $1
FETCH NEXT a_cursor

but when I get to the FETCH I'm getting back the error:

ERROR: no value found for parameter 1

What version of PostgreSQL are you using?

I'm using 7.4.5.

I think this is fixed
in 8.0.

http://archives.postgresql.org/pgsql-general/2005-01/msg00812.php

D'oh! Missed that one in the search. Time to find some upgrade
packages, then. Thanks.
--
Dan

--------------------------------------it's like this-------------------
Dan Sugalski even samurai
dan@sidhe.org have teddy bears and even
teddy bears get drunk