pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Matt Fitzgerald <mfitzgerald75@optushome.com.au>
To: 'Michiel Lange' <michiel@minas.demon.nl>
To: pgsql-interfaces@postgresql.org
Subject: Re: Getting to learn libpqxx
Date: Thu, 10 Apr 2003 17:32:17 +1000
Message-ID: <000001c2ff33$51f5e680$0000fea9@macros> (raw)
In-Reply-To: <5.1.0.14.0.20030410001937.00b38370@192.168.1.3>

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]; // username
	char passwd[250]; // password
	char host[250]; //hostname
	char passwd[250]; //password
	char dbase[250]; //database name
	char connstring[1264];
	... some output and input to get values for all these char arrays...

	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 went wrong... 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




view thread (7+ messages)  latest in thread

Message-ID: <000001c2ff33$51f5e680$0000fea9@macros>
Permalink:  ../000001c2ff33$51f5e680$0000fea9@macros/
Also on:    postgresql.org/message-id/000001c2ff33$51f5e680$0000fea9@macros

 · 

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: mfitzgerald75@optushome.com.au, michiel@minas.demon.nl
  Subject: Re: Getting to learn libpqxx
  In-Reply-To: <000001c2ff33$51f5e680$0000fea9@macros>

* 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