problem with libpq++
От | anmue@gmx.de |
---|---|
Тема | problem with libpq++ |
Дата | |
Msg-id | 30164.950712638@www8.gmx.net обсуждение исходный текст |
Список | 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 fora 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 usereasonable 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 << "Connectionto 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
В списке pgsql-interfaces по дате отправления: