Hallo,
ich arbeite mich gerade in Qt4 ein und möchte eine kleine Datenbank-Applikation schreiben mit ListViews, Editier-Masken mit Eingabefeldern usw.
Soweit sind mir die Konzepte bezüglich Models, Delegates, Views und Datenbankanbindungen klar. Wo ich aber unsicher bin sind so simple Fragen wie: wie macht man es am sinnvollsten? Wenn ich z.B. die Datenbankverbindung erzeuge: wo "hinterlege" ich die Variable mit dem Zeiger auf das Objekt? Als globale Variable, so dass ich von allen Dialogfenstern darauf zugreifen kann? Oder nutze ich einfach die Default-Standard-Datenbankverbindung? Vor-/Nachteile?
Betrachte ich jedes Dialogfenster eigenständig und baue eigene Models, Delegates und Datenbankverbindungen? Oder mache ich das besser global für die gesamte Applikation?
Gibt es irgendwo einen "best practices Überblick"? In den Tutorials, die ich bisher gesehen habe, war alles auf ein Dialogfenster beschränkt. Da wurde dann ein ListView-Widget platziert, sowie einige Eingabefelder, ein gemeinsames Model erzeugt und dann entsprechend verlinkt, so dass ich sowohl im ListView, als auch im Eingabefeld die Daten ändern kann.
Was aber, wenn ich das auf verschiedene Fenster aufteilen möchte? Wenn ich z.B. im Hauptfenster eine ListView habe möchte, dass bei einem Doppelklick auf einen Listeneintrag ein separates Fenster aufgeht, in dem ich dann die Datenfelder des Datensatzes bearbeiten kann?
Danke für Tipps oder Links auf Tutorials, die auch solche "best practice Fragen" beantworten...
Gruß
Markus
Best practices: Datenbank-Applikation mit Qt4
-
markusd112
- Beiträge: 33
- Registriert: 30. Dezember 2012 18:25
-
markusd112
- Beiträge: 33
- Registriert: 30. Dezember 2012 18:25
Re: Best practices: Datenbank-Applikation mit Qt4
Hallo,
vor vielen vielen Jahrhunderten habe ich relativ viel mit Turbo/Borland Pascal und dem C++ Builder gemacht. Dann lange lange Pause. Dazwischen ein bisschen PHP, Java, Objective C und zuletzt RealBasic.
Bei RealBasic habe ich mir auch ein Produkt angeschaut, dass eine ähnliche Abstraktionsebene gebildet hat und man nur mit Objekten gearbeitet hat, anstatt via SQL direkt auf die DB zuzugreifen. Hat Vor- und Nachteile gehabt...
Aber ich will jetzt erstmal die beiligenden Widgets verwenden und direkt mit SQL arbeiten, oder halt mit den QSqlTableView bzw. QSqlRelationalTableView, das ist ja im Prinzip auch schon eine kleine Abstraktionsebene.
Oder "macht man das so nicht"? --> Best practices?
Aber ich glaube, darauf gibt es keine allgemeingültige Antwort... Da ist wohl auch viel Geschmackssache dabei.
Ich glaube, ich muss mich von den globalen Variablen erstmal ein bisschen lösen. Beim Zugriff auf die Datenbank kann ich ja einer Datenbank-Connection einen Namen geben, d.h. ich kann ja problemlos darüber auch in einem separaten Programmfenster zugreifen.
Am meisten würden mir ein paar Beispielprogramme (also aus dem Bereich Datenbankprogramm, z.B. eine kleine Adressverwaltung, usw...) helfen, so dass man schauen kann, wie andere das machen und wo die Mehrheit sagt: das ist gut und sauber programmiert... Da kann man sich denke ich vieles "abgucken".
Viele Grüße
Markus
vor vielen vielen Jahrhunderten habe ich relativ viel mit Turbo/Borland Pascal und dem C++ Builder gemacht. Dann lange lange Pause. Dazwischen ein bisschen PHP, Java, Objective C und zuletzt RealBasic.
Bei RealBasic habe ich mir auch ein Produkt angeschaut, dass eine ähnliche Abstraktionsebene gebildet hat und man nur mit Objekten gearbeitet hat, anstatt via SQL direkt auf die DB zuzugreifen. Hat Vor- und Nachteile gehabt...
Aber ich will jetzt erstmal die beiligenden Widgets verwenden und direkt mit SQL arbeiten, oder halt mit den QSqlTableView bzw. QSqlRelationalTableView, das ist ja im Prinzip auch schon eine kleine Abstraktionsebene.
Oder "macht man das so nicht"? --> Best practices?
Aber ich glaube, darauf gibt es keine allgemeingültige Antwort... Da ist wohl auch viel Geschmackssache dabei.
Ich glaube, ich muss mich von den globalen Variablen erstmal ein bisschen lösen. Beim Zugriff auf die Datenbank kann ich ja einer Datenbank-Connection einen Namen geben, d.h. ich kann ja problemlos darüber auch in einem separaten Programmfenster zugreifen.
Am meisten würden mir ein paar Beispielprogramme (also aus dem Bereich Datenbankprogramm, z.B. eine kleine Adressverwaltung, usw...) helfen, so dass man schauen kann, wie andere das machen und wo die Mehrheit sagt: das ist gut und sauber programmiert... Da kann man sich denke ich vieles "abgucken".
Viele Grüße
Markus