On Sep 19, 5:47 pm, Steve Holden <[EMAIL PROTECTED]> wrote: > exhuma.twn wrote: > > Plain and simple. What would you use? > > > So far I have written everything with psycopg2. One thing that annoys > > me is that I cannot easily access the column names from a query. I > > know that this is not part of the DBAPI2 so I cannot expect the model > > to suport it. > > Yes it is. > > Execute a SELECT * FROM TABLE WHERE 1=0 and then examine > cursor.description. This allows you to introspect on database structure. > > > I quite like the "mogrify" method of psycopg2 very much. It's very > > useful for debugging. > > > And before someone says: "Use the DictCursor-factory to access column > > names". Yes I can do that. But a dict does not guarantee the same > > order of keys as the columns were specified in the query. > > See below. > > > The reason: I wrote a very simple Qt-Widget (inherited from > > QTableWidget) that takes a SQL query and displays the results. And I > > would like to have the columns ordered the same way as I specified in > > the query *with* a header-label. For now I hava a method on the widget > > which takes a query, *and* a list of labels. > > > I can live with that though. Although it itches me. > > > Would pygresql solve my dilemma? Or would you rather say: "Don't use > > pygresql!" ;) > > Here's a psycopg2-based session: > > >>> curs > <cursor object at 0x00B823C8; closed: 0> > >>> curs.execute("SELECT * FROM Person WHERE 1=0") > >>> curs.description > (('psnid', 23, None, 4, None, None, None), ('psnfirstname', 1043, None, > 50, None, None, None), ('psnlastname', 1043, None, 50, None, None, > None), ('psndear', 1043, None, 50, None, None, None), ('psntitle', 1043, > None, 50, None, None, None), ('psnworkphone', 1043, None, 30, None, > None, None), ('psnworkextension', 1043, None, 20, None, None, None), > ('psnhomephone', 1043, None, 30, None, None, None), ('psnmobilephone', > 1043, None, 30, None, None, None), ('psnfaxnumber', 1043, None, 30, > None, None, None), ('psnemailname', 1043, None, 50, None, None, None), > ('psnreferredby', 1043, None, 50, None, None, None), ('psnlocid', 23, > None, 4, None, None, None), ('psnnotes', 1043, None, -1, None, None, None)) > > I believe if you use specific column names in your query they will > appear in the order given in the query also. > > I use this technique in > > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/81189 > > to print arbitrary query outputs. > > regards > Steve > -- > Steve Holden +1 571 484 6266 +1 800 494 3119 > Holden Web LLC/Ltd http://www.holdenweb.com > Skype: holdenweb http://del.icio.us/steve.holden > > Sorry, the dog ate my .sigline
Apparently I am deaf dumb and blind.... :( Sorry. I grepped several times through the PEP for various other reasons, and this little bit escaped me. Thanks for being nice guys and answering anyhow. Much appreciated. -- http://mail.python.org/mailman/listinfo/python-list