pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: anmue@gmx.de
To: pgsql-interfaces@postgresql.org
Subject: problem with libpq++
Date: Wed, 16 Feb 2000 15:50:38 +0100 (MET)
Message-ID: <30164.950712638@www8.gmx.net> (raw)

Hello list,

i have a problem with libpq and variable in select.

please have a look my sourcecode :
/*
 * testlibpq1.cc
 *      Test the C++ version of LIBPQ, the POSTGRES frontend library.
 *
 *  queries the template1 database for a list of database names
 *
 */

#include <iostream.h>
#include <iomanip.h>
#include
<libpq++.H>

/**********************************************************************************/
typedef struct _user_data {
    /* first two items must be same as hash_link */
    char *user;
    struct _user_data *next;
    char *passwd;
}
user_data;
/**********************************************************************************/
int main()
{
  // Begin, by establishing a connection to the backend.
  // When no parameters are given then the system will
  // try to use reasonable defaults by looking up environment variables
  // or, failing that, using hardwired constants
  const char* dbName = "dbname=testdb";
  PgDatabase data(dbName);

  // check to see that the backend connection was successfully made
  if ( data.ConnectionBad() ) {
      cerr << "Connection to database '" << dbName << "' failed." << endl
           << "Error returned: " << data.ErrorMessage() << endl;
      exit(1);
 
}
/************************************************************************************/
char *user, *passwd, *p;
char buf[256];
   while (fgets(buf, 256, stdin) != NULL) {
        if ((p = strchr(buf, '\n')) != NULL)
            *p = '\0';          /* strip \n */

        if ((user = strtok(buf, " ")) == NULL) {
                printf("ERR\n");
                continue;}
        if ((passwd = strtok(NULL, "")) == NULL) {
                printf("ERR\n");
               
continue;}
/************************************************************************************/
  // fetch instances from the pg_database, the system catalog of databases
  if ( !data.ExecTuplesOk("select * from test where name={user} and
password={passwd}") ) {
    cerr << "Error" << endl;
    exit(1);
  }
cout << "if" << user << "and"<< endl;
cout << user  << " ww " << passwd <<endl;
  // first, print out the attribute names
  int nFields = data.Fields();
  if (data.Tuples() == 1) {
    cout << data.Tuples() << endl;}
   else {cout << "Err" <<endl;}
  // next, print out the instances

}
}


-- 
Sent through Global Message Exchange - http://www.gmx.net




view thread (2+ messages)

Message-ID: <30164.950712638@www8.gmx.net>
Permalink:  ../30164.950712638@www8.gmx.net/
Also on:    postgresql.org/message-id/30164.950712638@www8.gmx.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: anmue@gmx.de
  Subject: Re: problem with libpq++
  In-Reply-To: <30164.950712638@www8.gmx.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox