ALSO
... nach noch einem Tipp von Keppla, und weiterer verbaler Prügel von Kollegen, ich könne dem USer bitte GAR nichts überlassen, egal ob da außer mir nur noch 1-2 andere jemals das Programm benutzen, hab ich mich jetzt doch hingesetzt und
1. eine Oberfläche zusammengebastelt, wo wirklich NICHTS weiter, außer NUR die Werte selber eingegeben werden.
und
2. die querys gestückelt zusammengebastelt, und das sieht nun so aus:
(also nur der kleine Ausschnitt:)
Code: Alles auswählen
elif indikator.get() == "category":
where_i = 'select * from indizes where 1=1'
# calc_cat
c_list = calc_cat_entry.get().split(",")
if len(c_list) > 0:
i_values=[]
where_i +=" and ("
i = 0
for c in c_list:
where_i +="calc_cat = %s"
i_values.append(c.lower())
i +=1
if len(c_list)-i > 0:
where_i +=" or "
where_i +=")"
# kategorie
k_list = kat.get().split(",")
# ... hier dann genau so, wie oben ....
cursor.execute(where_i, i_values)
geht bestimmt wieder viel toller und kompakter.
Mich stört das i+=1 noch. Das krieg ich bestimtm gleich mit in die for schleife rein, aber irgendwie steh ich auch gerade auf dem Schlauch und ganzen tag Oberfläche zusammenbasteln schlaucht ...
Ist das so nun besser? und sicherer?