I can't get results inside a C program. - Mailing list pgsql-novice

From Jay G. Scott
Subject I can't get results inside a C program.
Date
Msg-id 3E37E8EB.7040706@arlut.utexas.edu
Whole thread Raw
List pgsql-novice
The database has 4 values; I can see them when I get into the d.b.
via:
psql test
and, using (cut and paste) the string the C program uses to select,
from "psql environment" I see the four values.  So that's all good.
The string, I suppose, must be okay.   Furthermore, if I turn on
tracing, I believe I see the four values being printed.  However,
my C program thinks it got 0 rows.  And I can't retrieve anything.
here's a code fragment:
/*-----------------------------------------------*/
sprintf(select_stmt, "SELECT m_id FROM machines WHERE hostname = '%s'",
node);
fprintf(stderr,"trying this: %s\n", select_stmt);
/*____________________________________________________________________________*/
igot = PQsendQuery(conn_to_db,select_stmt);
fprintf(stderr,"igot from query is %d\n", igot );
seek_m_id = PQgetResult(conn_to_db);

estgot =  PQresultStatus( seek_m_id );

fprintf(stderr,"estgot from PQgetResult is %d\n", estgot );

while( seek_m_id != NULL )
        {
        fprintf(stderr,"seek_m_id != NULL\n");
        seek_m_id = PQgetResult(conn_to_db);
        estgot =  PQresultStatus( seek_m_id );
        tmwh( estgot );
        /* i suppose nrows could keep coming back as 1 */
        nrows = PQntuples( seek_m_id );
        fprintf(stderr,"nrows = %d\n", nrows );
        for(jj=0;jj<nrows;jj++)
                {
                cgot = PQgetvalue( seek_m_id, jj, 0 );
                machine_id = atoi( cgot );
                fprintf(stderr,"machine_id = %d\n", machine_id );
                }
        PQclear(seek_m_id);
        }
/*____________________________________________________________________________*/
torn#




pgsql-novice by date:

Previous
From: "Reshat Sabiq"
Date:
Subject: Re: can only connect to localhost is postgresql
Next
From: "Andrew J. Kopciuch"
Date:
Subject: Re: [SQL] For each record in SELECT