> -----Original Message-----
> From: Bob Lapique [mailto:lapique(at)ifrance(dot)com]
> Sent: 07 June 2002 17:52
> To: pgsql-interfaces(at)postgresql(dot)org
> Subject: [INTERFACES] database structure / generic client apps
> I am to write an interface to a database with 38 tables and
> will have to write others in the future.
> Instead of creating a form manually for each table, I would
> like to create them dynamically (Trolltech's Qt). Same with
> queries. But to do so, I need to know the structure of the
> database at RUN TIME.
> The number of fields and their type is given by libpq++. (
> Where is the definition of the Oid number returned ? ) >> OK :)
> BUT I could not find out how to know if a table has a FOREIGN
> KEY constraint on some other table. And what is its PRIMARY KEY. Yet,
> PgAdmin manages to do that. Why not me ? ;)
I spent 5 years working with PostgreSQL to figure out things like that!
Take a look at the code in
http://cvs.pgadmin.org/cgi-bin/viewcvs.cgi/pgschema/ - in particular,
pgForeignKey.cls, ForeignKeys.cls, pgIndex.cls & Indexes.cls to see how
it's done. The basic SQL queries that are used are in basGlobal.bas.
Foreign Keys & Triggers are the hardest to figure out. The primary key
is figured out by finding out which columns are included in the index
with pg_index.indisprimary on the table in question.
pgsql-interfaces by date
|Next:||From: Sandro Dentella||Date: 2002-06-08 22:28:43|
|Subject: libpgtcl and encoding|
|Previous:||From: Franco||Date: 2002-06-08 18:37:29|
|Subject: error reporting|