Zeilenumbruch hinter jedem Tupel

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Sebi.Schneider
User
Beiträge: 38
Registriert: Freitag 3. Mai 2013, 15:05

Hallo ich bin neu hier, und ich habe mich mit meinem Datenbank aus der Hochschule verbunden.

Ich bekomm leider keinen Zeilenumbruch bei dieser Liste nicht hin
[(1,'ATitel'),(2,'BTitel'),(3,'CTitel') ]

anbei mein code

Code: Alles auswählen

    try:
       
        datenbank_connect = pg.connect(host = "localhost",database="****",user = "****",
        password="****")
        curs =datenbank_connect.cursor()
        curs.execute('SELECT * from categories')

        datenbank_connect.commit()

        content.append(curs.fetchall())
        
        #for line in content:
           # print "%s <br />" % line

    except pg.DatabaseError,e:
        datenbank_connect.rollback()
       
        print 'Error %s' %e
        sys.exit(1)


    finally:

        if datenbank_connect:
            datenbank_connect.close()

       
    return Response(page % content, content_type="text/html")

Vielen Dank für die Hilfe :D
Zuletzt geändert von Anonymous am Freitag 3. Mai 2013, 15:17, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
BlackJack

@Sebi.Schneider: Das ist nicht die Liste die als `content` in Deinem Programm besteht. Schau Dir *die* Liste noch mal genau an. Wo wird `content` überhaupt definiert? Und kann da jemals mehr als ein Element drin sein?

Die Ausnahmebehandlung und das ``finally`` sind fehlerhaft. Wenn die erste Zeile im ``try``-Block eine Ausnahme auslöst, dann ist `datenbank_connect` undefiniert, dass heisst weder der ``except``- noch der ``finally``-Zweig würden dann fehlerfrei durchlaufen. Beide für sich betrachtet führen zu einem `NameError`.
Sebi.Schneider
User
Beiträge: 38
Registriert: Freitag 3. Mai 2013, 15:05

Bei mir ist content als Liste oben difiniert.

Nur weiß ich leider gar nicht mehr weiter, sitze seit ca. 4 std dran :K :K

Code: Alles auswählen

import psycopg2 as pg
from werkzeug.wrappers import Request, Response


page = """<html>
<body>
<a>%s</a>
</body>
</html>"""


@Request.application
def app(request):
    #Datenbank verbinden
    content = []
Sebi.Schneider
User
Beiträge: 38
Registriert: Freitag 3. Mai 2013, 15:05

ok hab es gelöst, danke
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@Sebi.Schneider: das »commit« ist überflüssig. Warum brauchst Du eine Liste, wenn diese sowieso nur ein Element enthält?
Das »sys.exit(1)« ist an dieser Stelle sehr schlecht, da es Deinen ganzen Server beendet. Es sollte in einem normale Programm überhaupt nicht vorkommen.
Da Du nichts an der Datenbank änderst, was soll der »rollback«?
Ein 'select *' ist selten eine gute Idee, außer Du fragst an anderer Stelle die Spaltennamen ab.
Antworten