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
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