Seite 1 von 1

Datenbank erstellen Problem beim print

Verfasst: Samstag 15. Oktober 2011, 14:52
von pysbf26
Hallo,

ich beschäftige mich seit einer Woche mit Python und habe folgendes Problem:
Es soll eine Datenbank mit 4 usern erstellt werden. Bei mir druckt der dann aber nur eine aus. Wo steckt der Fehler?

Code: Alles auswählen

connection = sqlite3.connect("fdat.db")
cursor = connection.cursor ()

#Datensatz erzeugen
cursor = connection.cursor ()

#Tabelle erzeugen
sql = "CREATE TABLE fdat (" \
      "login TEXT, " \
      "password TEXT, " \
      "user TEXT, " \
      "vorname TEXT, " \
      "name TEXT)"
cursor.execute(sql)

#Datensatz erzeugen
sql = "INSERT INTO fdat VALUES ('rasburnd', "\
      "'g46b5', 'user01', 'Max', 'Abendstern')"
cursor.execute(sql)
connection.commit()

#Datensatz erzeugen
sql = "INSERT INTO fdat VALUES ('mdad',"\
      "'xfgj5d', 'user02', 'Mirijam', 'donad')"
cursor.execute(sql)
connection.commit()

#Datensatz erzeugen
sql = "INSERT INTO fdat VALUES ('dbande',"\
      "'g07856k', 'user03', 'Dirk', 'Bdande')"
cursor.execute(sql)
connection.commit()

#Datensatz erzeugen
sql = "INSERT INTO fdat VALUES ('rbosch', "\
      "'u785oTf7', 'user04', 'Rufus', 'bosch')"
cursor.execute(sql)
connection.commit()

connection = sqlite3.connect("fdat.db")
cursor = connection.cursor ()

#sql-Abfrage
sql ="SELECT * FROM fdat"

print(sql)
cursor.execute(sql)

for dsatz in cursor:
    print(dsatz[0],dsatz[1],dsatz[2], dsatz[3], dsatz[4])
    connection.close()

#Verbindung beenden
connection.close()

Re: Datenbank erstellen Problem beim print

Verfasst: Samstag 15. Oktober 2011, 15:30
von BlackJack
@pysbf26: Es wird nur ein Datensatz ausgegeben *und* eine sehr aussagekräftige Fehlermeldung. Denk da einfach mal drüber nach.

Re: Datenbank erstellen Problem beim print

Verfasst: Samstag 15. Oktober 2011, 23:55
von pysbf26
hab was geändert und jetzt druckt er die datensätze hintereinander 12 bis 13 mal aus.
Wie drucke ich das denn nun richtig aus? :oops:
Fehlermeldung kommt keine mehr......

Re: Datenbank erstellen Problem beim print

Verfasst: Sonntag 16. Oktober 2011, 02:23
von BlackJack
@pysbf26: Mach einfach den Fehler nicht mehr, der dazu führt, dass die Daten so oft ausgegeben werden.

Mal ernsthaft: Wie soll man bei der Faktenlage etwas sinnvolles sagen können!?

Re: Datenbank erstellen Problem beim print

Verfasst: Sonntag 16. Oktober 2011, 12:44
von pysbf26
Die "Hilfestellung" hier war nicht sehr hilfreich für einen Anfänger.
Habs selbst gelöst und was im Code geändert.

Re: Datenbank erstellen Problem beim print

Verfasst: Sonntag 16. Oktober 2011, 13:19
von Hyperion
pysbf26 hat geschrieben:Die "Hilfestellung" hier war nicht sehr hilfreich für einen Anfänger.
Habs selbst gelöst und was im Code geändert.
LOL... denk doch mal drüber nach, was wir mit "etwas geändert" anfangen können ;-)

Ach ja, Du willst Dich dringend mit Listen auseinandersetzen - das oben gezeigte Anlegen der Datensätze ist momentan reine Copy&Paste-Programmierung.

Re: Datenbank erstellen Problem beim print

Verfasst: Sonntag 16. Oktober 2011, 13:52
von pysbf26
Ja ich würde gerne eine richtige Liste anlegen. Die man später auch ändern kann.
Das macht man doch mit sqlite3 oder nicht?
Ich kenn mich da echt nicht aus :roll:

Re: Datenbank erstellen Problem beim print

Verfasst: Sonntag 16. Oktober 2011, 15:24
von Hyperion
pysbf26 hat geschrieben:Ja ich würde gerne eine richtige Liste anlegen. Die man später auch ändern kann.
Eine Liste ist eine grundlegende Datenstruktur in Python und hat mit einer Datenbank nichts zu tun. Du solltest mal das offizielle Tutorial durcharbeiten, dann lernst Du das kennen.