Seite 1 von 1

psycopg2 und Postgres 'Select-Abfrage' gibt None zurück

Verfasst: Sonntag 15. Januar 2012, 11:35
von 3quin0x
Hi,

Warum kommen keine Daten an, obwohl die Einträge vorhanden sind?

Code: Alles auswählen

import psycopg2 as p
c = p.connect('dbname=dbsx user=corencher password=postgres')
cu = c.cursor()
f = cu.execute("SELECT * FROM film")
Und hier noch ein paar Ausschnitte der Datenbank:

Code: Alles auswählen

                
                Liste der Relationen
 Schema |        Name        |   Typ   | Eigentümer 
--------+--------------------+---------+------------
 public | benutzer           | Tabelle | postgres
 public | film               | Tabelle | postgres
 public | filmgenre          | Tabelle | postgres
 public | filmplakat         | Tabelle | postgres
 public | hauptdarsteller    | Tabelle | postgres
 public | kategorie          | Tabelle | postgres
 public | kino               | Tabelle | postgres
und:

Code: Alles auswählen

dbsx=# select * from film;

Code: Alles auswählen

  
 f_titel   |          f_beschreibung           | f_jahr | f_dauer | f_fsk | f_startdatum 
-------------+-----------------------------------+--------+---------+-------+--------------
 Verblendung | Remake Thriller von David Fincher |   2011 |     120 |    18 | 2012-01-01
 Verblendung | TV-Thriller aus Schweden          |   2005 |     120 |    18 | 2006-01-01
 Verdamminis | Kinofilm aus Schweden             |   2006 |     120 |    18 | 2007-01-01
weiss jemand Rat?

Gruß

Re: psycopg2 und Postgres 'Select-Abfrage' gibt None zurück

Verfasst: Sonntag 15. Januar 2012, 12:53
von Hyperion
Woher weißt Du, dass keine Ergebnisse zurückgeliefert werden? Du musst schon über den Cursor iterieren oder Dir ein oder alle Ergebnisse per `cursor.fetchone()` oder `cursor.fetchall()` holen. Das sollte auch in jeder Doku drin stehen.

Re: psycopg2 und Postgres 'Select-Abfrage' gibt None zurück

Verfasst: Sonntag 15. Januar 2012, 13:05
von 3quin0x
Oh man! Stimmt ...jetzt geht es!

Danke dir für den Hinweis.

Gruß

Re: psycopg2 und Postgres 'Select-Abfrage' gibt None zurück

Verfasst: Sonntag 15. Januar 2012, 13:17
von Hyperion
Du brauchst auch den Rückgabewert von `cursor.execute` nicht an einen Namen binden (`f`). Da steht eh nur ein `None` drin...