From: | anmue(at)gmx(dot)de |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | problem with libpq++ |
Date: | 2000-02-16 14:50:38 |
Message-ID: | 30164.950712638@www8.gmx.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2000-02-16 15:10:41 | Re: [INTERFACES] invalid lo descriptorc in begin commit fraze |
Previous Message | Constantin Teodorescu | 2000-02-16 13:58:46 | A question on triggers |