Re: Getting to learn libpqxx - Mailing list pgsql-interfaces

From Matt Fitzgerald
Subject Re: Getting to learn libpqxx
Date
Msg-id 000a01c2ff2f$b72d99c0$0000fea9@macros
Whole thread Raw
In response to Getting to learn libpqxx  (Michiel Lange <michiel@minas.demon.nl>)
List pgsql-interfaces
Ok... some stupid questions:

1. I take it pqxx/connection.h is in the include path?
2. If so, what command are you using to compile the source?

Also, your connection string is not built correctly, 'connstring' is not a
class, thus it doesn't support any overloaded operators such as '<<' & '+'
etc.

Do some thing like this:

#include <sstream>

std::stringstream connstring;

connstring << "host=" << host << "database=" << dbase << "username=" <<
uname << "password=" << passwd;

// call connection constructor something like this:
Connection *db = new Connection(connstring.str().c_str());


Etc.. etc.. also, as 'bool Immediate' defaults to 'true' you don't have to
specify it.

Regards, -Matt




-----Original Message-----
From: pgsql-interfaces-owner@postgresql.org
[mailto:pgsql-interfaces-owner@postgresql.org] On Behalf Of Michiel Lange
Sent: Thursday, 10 April 2003 8:31 AM
To: pgsql-interfaces@postgresql.org
Subject: [INTERFACES] Getting to learn libpqxx

Hello everybody again,

I went out to investigate and try if I could master libpqxx, for libpq++
works not at all. Seeing it is discontinued, and people are encouraged to
use libpqxx, I was so bold as to try that ;-)

Only to discover that there is hardly any documentation on how to access
stuff... now I, myself am more a C-programmer, and I know C++ is pretty
much different... it is really hard for me to think in classes and stuff,
to think object-oriented...

So, now you know I am an earthling :P

I tried this kind of approach, the idea was to start out simple... so don't
laugh at the attempt ...

#include <pqxx/connection.h>

int main(int argc, char *argv[])
{Connection *db;char uname[250]; // usernamechar passwd[250]; // passwordchar host[250]; //hostnamechar passwd[250];
//passwordchardbase[250]; //database namechar connstring[1264];... some output and input to get values for all these
chararrays... 
connstring = "host=" >> host >> "database=" >> dbase >> "username="
>>
uname >> "password=" >> passwd;db = new Connection(connstring,true);
if(db->is_open()){    cout << "Connection succesful!" << endl;    cout << db->Options();}else{    cout << "Something
wentwrong... oops" << endl;}delete db;return 0; 
}

I get my first errors at "Connection *db" declaration... there is no
Connection defined...
Can anyone point out how to reference the classes libpqxx has?

Also I was curious if my connstring was correctly built, but that is
another subject I think... One other very important thing would be: how can
I find out the error PostgreSQL will throw at me when I did something ugly?
At least I can find out the problem, when I make one then...

Michiel


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org



pgsql-interfaces by date:

Previous
From: Tom Lane
Date:
Subject: Re: More thoughts about FE/BE protocol
Next
From: "Matt Fitzgerald"
Date:
Subject: Re: Getting to learn libpqxx