-
When use cursors..
Hi,
I'm making a c++ program which insrt data into the database. Therefore
I use 8 different queries..
I use 6 cursors, only for the select querys.
res = PQexec(conn, "DECLARE mycursor CURSOR FOR SELECT * FROM foo
WHERE bar=2;");
//do something with it..
res = PQexec(conn, "CLOSE mycursor");
For the insert querys i don't use cursors.
res = PQexec(conn, "INSERT INTO foo values(1);");
In the whole program I use 1 transaction, which I close when
everything is done.
I close each cursor after I'm done with it. But when the program runs
for a while, I get an error message
DECLARE CURSOR mycursor command failed.
which is produced by this code:
if (!res || PQresultStatus(res) != PGRES_COMMAND_OK)
{
printf("DECLARE CURSOR mycursor command failed\n");
PQclear(res);
closeDatabaseConnection(conn);
}
So it's obvious where it went wrong, the problem is, I don't know why.
I guess I'm using the cursors wrong.
But I can't find a good document on how to use them exactly, can
someone explain that to me, or knows a place where i can find
information on cursors..
And if it aren't the cursors that are wrong, can someone tell me
what's the cause then..