Re: database access via c++ program...

From: jtv <jtv(at)xs4all(dot)nl>
To: Emilio Uy III <emilio(at)qncos(dot)nec(dot)co(dot)jp>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: database access via c++ program...
Date: 2002-06-26 14:42:26
Message-ID: 20020626144226.GD18491@xs4all.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jun 26, 2002 at 12:22:54PM +0900, Emilio Uy III wrote:
>
> I am just wondering, because I have installed PostgreSQL on my Cygwin
> (Windows NT) and this is my first time to attempt a dive into the database
> realm. I am not sure of this, but there should be a way to access a database
> through say, a C++ program. Right now my Cygwin-PostgreSQL database is
> working fine, I was able to create databases and tables, view them, modify
> the contents, etc. But what I really want to do right now is to create a
> simple program that would successfully connect to my PostgreSQL databases (i
> have to specify the database i assume). Just a 5-liner maybe, just to test
> the connection.

If you're using gcc or a similarly good compiler (Visual C++ will NOT work),
try libpqxx:

http://members.ams.chello.nl/j.vermeulen31/proj-libpqxx.html

I don't know how well it installs under Cygwin, but a simple test program
using libpqxx as its C++ interface to PostgreSQL can be something like:

#include <iostream>

#include <pqxx/connection.h>
#include <pqxx/transaction.h>
#include <pqxx/result.h>

using namespace std;
using namespace pqxx;

int main()
{
try
{
Connection C("dbname=mydatabase");
Transaction T(C, "T");
Result R = T.Exec("SELECT * FROM pg_tables");

for (Result::const_iterator c = R.begin();
c != R.end();
++c)
{
cout << c[0].c_str() << endl;
}

T.Commit();
}
catch (const exception &e)
{
cerr << e.what() << endl;
return 1;
}

return 0;
}

HTH,

Jeroen

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jan Wieck 2002-06-26 14:44:57 (A) native Windows port
Previous Message Justin Clift 2002-06-26 14:39:09 Re: Postgres idea list