Thread Mini Datenbank
(8 answers)
Opened by der_thomas at 2013-10-13 11:26 Quote Du hast recht, aus der Sicht anderer wird’s natürlich schwer, andererseits ist es wohl immer ein Spagat zwischen einfacher Anwendbarkeit und Flexibilität. Als Extrembeispiel könnte ich eine Methode 'set_new_Autor' einführen, wäre klasse – aber eben nur in einer Bücherdatenbank ;) Ich umging das ein wenig indem ich im Frontend Konstanten einführte, also zum Beispiel AUTOR = 1 und temp[AUTOR] = „George“. Letztendlich muss man wohl abwägen was einem wichtiger ist, eine superkomfortable Bedienung der Datenbankklasse bei der Programmierung des Frontends oder ein Maximum an Flexibilität. Quote Praktisch sieht es derzeit in meinem Programm so aus dass wenn ein Datensatz ausgegeben werden soll: Dieser per temp = db.get_next_row() angefordert wird, als temp[] angekommen wird er auf die verschiedenen Textfelder der GUI Oberfläche verteilt. Springt man nun zum nächsten Datensatz (im Frontend) werden zuerst die Inhalte aller Textfelder ausgelesen in die temp[] gepackt, der Datenbankklasse per db.set_new_content_in_row(temp) zurückgeschickt, dort in die Tabelle reinkopiert und anschließend erfolgt der nächste temp = db.get_next_row() ...und das Ganze beginnt von vorne... Ist zwar viel hin und her kopiererei, aber ich erspare mir damit die Überprüfung ob an den Textfeldern im Frontend was verändert wurde und könnte sehr leicht einen Schreibschutz implementieren. Elegant ist daran allenfalls dass es einfach ist und die Datenwege simpel und leicht prüfbar sind. Hätten die Datensätze 100 oder mehr Spalten (Einträge pro Datensatz) bekäme ich hier sicherlich ein massives Performanceproblem, aber wie gesagt mehr als 15 Spalten werde ich kaum benötigen. Quote Das ist zugegebenermaßen bisher weder vorgesehen noch mit den bisher vorhandenen Methoden umsetzbar - um ehrlich zu sein, daran dachte ich nicht mal ;) Spontan würde ich es wohl recht hemdsärmlig lösen indem ich die Inhalte zweier Datenbanken mit einen 10 Zeiler Wegwerfcode zusammenfüge :) Ich werde erst mal einen Schritt zurückmachen und das nochmal überdenken, zeitlich könnte ich das eh erst in drei Wochen in Angriff nehmen. Danke für Deine Ausführungen, hilft mir sehr das Ganze mal aus einem anderen Blickwinkel zu betrachten. |