Einzelnes Element nach Auslesen einer Datenbank aufrufen?
Verfasst: Freitag 3. Juli 2015, 00:26
hi, ich bins wieder 
kann mir jemand sagen, wie ich nach dem auslesen von adressen aus meiner datenbank, die einzelnen elemente (d.h. erstes adresselement nach dem ersten durchgang, zweites element nach dem dritten durchgang...) direkt einzelnd anzeigen lassen kann oder noch
besser, den code dafür geben, wie ich die elemente einzelnd in das tabellenfenster bekomme?
ich hab schon das netz durchforstet, leider kein ergebnis...
wär schön das mal hinzubekommen
# Auslesen der Adressen aus Datenbank
from Tkinter import *
import tkMessageBox
import tkintertable
import sqlite3
import os
from operator import itemgetter, attrgetter, methodcaller
#Auslesen der Datenbank:
db = sqlite3.connect('C:\\Users\\DMD-OL\\Desktop\\Verwaltung Arbeitszeit\\Adressendateien\\adressenliste.db')
cursor = db.cursor()
cursor.execute("SELECT ktoNum, vorname, nachname FROM adressenliste")
cursor.execute("SELECT * FROM `adressenliste` ORDER BY `nachname` ASC")
counter = 0
for row in cursor:
aktuellesKonto= ('{0} {3} {1}'.format(row[2], row[1], row[0], row[3]))
counter = counter + 1
print aktuellesKonto
print row
db.close()
Printausgabe aktuellesKonto:
Hans Meyer 10
Peter Meyer 1
Bildung Lücke 7
Printausgabe row:
(1, 0, u'asdf', u'asdf', u'asdf', u'asdf', 0, u'9.00 - 9.15', u'12.30 - 13.15')
#Erstellung Tkinter-Fenster:
root = Tk()
root.title('GUI-Verwaltung')
height = counter +1
width = 3
for z in range(height): #Zeile
for s in range(width): #Spalte
myGrid = Entry(root)
myGrid.config(relief="sunken", bg="#ddddddddd", fg="#000000000", justify='center') # width=20,
myGrid.grid(row=z, column=s)
for z in range(height): #Zeile
for s in range(width): #Spalte
datenzeile = StringVar()
datenzeile.set(aktuellesKonto)
entry_1 = Entry(textvariable=datenzeile).grid(row=z, column=s) #<-- die Printausgabe soll nacheinander in die Entries der Tabelle eingelesen werden
root.mainloop()
... mit diesem code setzt er nur die zuletzt ausgelesene adresse in die tabelle ein, und zwar vorname, nachname, ktonr in jedes einzelne entry
muss ich nach jedem durchgang mit db.commit() speichern? ...bin am ende...
kann mir jemand sagen, wie ich nach dem auslesen von adressen aus meiner datenbank, die einzelnen elemente (d.h. erstes adresselement nach dem ersten durchgang, zweites element nach dem dritten durchgang...) direkt einzelnd anzeigen lassen kann oder noch
besser, den code dafür geben, wie ich die elemente einzelnd in das tabellenfenster bekomme?
ich hab schon das netz durchforstet, leider kein ergebnis...
wär schön das mal hinzubekommen
# Auslesen der Adressen aus Datenbank
from Tkinter import *
import tkMessageBox
import tkintertable
import sqlite3
import os
from operator import itemgetter, attrgetter, methodcaller
#Auslesen der Datenbank:
db = sqlite3.connect('C:\\Users\\DMD-OL\\Desktop\\Verwaltung Arbeitszeit\\Adressendateien\\adressenliste.db')
cursor = db.cursor()
cursor.execute("SELECT ktoNum, vorname, nachname FROM adressenliste")
cursor.execute("SELECT * FROM `adressenliste` ORDER BY `nachname` ASC")
counter = 0
for row in cursor:
aktuellesKonto= ('{0} {3} {1}'.format(row[2], row[1], row[0], row[3]))
counter = counter + 1
print aktuellesKonto
print row
db.close()
Printausgabe aktuellesKonto:
Hans Meyer 10
Peter Meyer 1
Bildung Lücke 7
Printausgabe row:
(1, 0, u'asdf', u'asdf', u'asdf', u'asdf', 0, u'9.00 - 9.15', u'12.30 - 13.15')
#Erstellung Tkinter-Fenster:
root = Tk()
root.title('GUI-Verwaltung')
height = counter +1
width = 3
for z in range(height): #Zeile
for s in range(width): #Spalte
myGrid = Entry(root)
myGrid.config(relief="sunken", bg="#ddddddddd", fg="#000000000", justify='center') # width=20,
myGrid.grid(row=z, column=s)
for z in range(height): #Zeile
for s in range(width): #Spalte
datenzeile = StringVar()
datenzeile.set(aktuellesKonto)
entry_1 = Entry(textvariable=datenzeile).grid(row=z, column=s) #<-- die Printausgabe soll nacheinander in die Entries der Tabelle eingelesen werden
root.mainloop()
... mit diesem code setzt er nur die zuletzt ausgelesene adresse in die tabelle ein, und zwar vorname, nachname, ktonr in jedes einzelne entry
muss ich nach jedem durchgang mit db.commit() speichern? ...bin am ende...