Generelle Frage: Wie behaltet ihr die Übersicht bei vielen Datenbank-Komponenten?



  • Hallo liebe Forengemeinde,

    ich habe hier ein Projekt mit mittlerweile glaube ich 20 ADOQuery's und die entsprechenden DataSources. Der Bildschirm wird nicht nur immer voller sondern auch unübersichtlicher.

    Wie löst ihr solche Probleme? Erzeugt ihr die Komponenten erst während der Laufzeit?

    Viele Grüße

    Maik



  • Du brauchst 20 Abfrage auf einem Formular?!



  • Ich würde die DB komponenten in ein TDataModul packen.



  • ...naja die Abfragen betreffen nicht das gleiche Formular, aber ich habe die Datenbankkomponenten alle auf dem Hauptformular platziert.

    Viele Grüße

    Maik



  • ...was hat es mit dem TDataModule auf sich?

    Das kann ich bei mir nicht finden?

    Viele Grüße,

    Maik



  • Hallo

    TDataModul ist auch keine Komponente aus der Palette. Sondern eine Art Unit, in der im Gegensatz zu normalen Units recht einfach nicht-visuelle Komponenten wie TDataSource gesammelt und verwaltet werden können. Es ermöglicht eine projektweite Strukturierung und Verfügbarkeit von Hintergrund-Daten aller Art.
    Du findest DataModul nicht auf Komponentenpalette, sondern im Menü Datei/Neu, wo du auch Units erstellst.

    bis bald
    akari



  • Danke, dass werde ich mir mal anschauen.

    Viele Grüße

    Maik



  • Hallo akari,

    kannst Du noch etwas mehr zu dem Thema schreiben bzw. wo kann ich noch mehr Infos dazu finden?

    Viele Grüße

    Maik



  • Hallo

    Ich wüßte nicht, was ich ohne weitere konkrete Frage noch schreiben sollte. Stell dir TDataModul einfach als ein unsichtbares Form vor, das dazu dient nichtvisuelle Komponenten zu sammeln und projektweit mit möglichst geringer Abhängig voneinander verfügbar zu machen. Dahinter steckt keine spezielle Regelung, nur normale Anwendung von Objektorientierung, Datenkapselung und Sichtbarkeit.
    Im übrigen hilft dir TDataModul auch nicht im geringsten weiter, wenn du nicht weißt wofür du es einsetzen sollst. Wenn du jetzt einfach deine 20+ DataSources in ein DataModul verschiebst, hast du auch nichts gewonnen. Immer zuerst am Konzept optimieren, und danach überlegen wie diese Optimierungen am besten umzusetzen sind.

    bis bald
    akari



  • Hallo ihr beiden,

    aber immer noch besser als die DB-Komponenten auf einer Form zu lassen, denn durch die DataModule trennt man zumindestens schon mal GUI und DataLayer (sofern man auch die Zugriffsmethoden in das DataModule auslagert).



  • Ich vermeide Vermüllung indem ich zunächst erstmal das angesprochene Datenmodul verwende. Da gibt es nur Datasources, die ich in irgendwelchen Formularen als Views brauche.

    Ändern von Daten geschieht über von mir implementierte Funktionen des Datenmoduls, die intern aber keine Datasources verwenden sondern anständige SQL Queries ausführen.

    So sehe ich im Designer nur das Allernötigste (die Datasources der Views). Wenn ich die Implentierung einer Funktion in der CPP Ansicht aufrufe habe ich dort ebenso alles komplett zusammen.
    Inbesondere muss man nicht zwischen Design-View und CPP Ansicht hin und herschalten um sich einen Überblick zu verschaffen: Es soll ja Leute geben, die machen für jeden Query auch ein entsprechendes Objekt im Designer und tragen den Query fest ein. Das ist aber nicht meins, da man dann wie gesagt hin und herschalten muss, wenn man in der CPP Ansicht die Funktion aufruft und sich für den eigentlichen Query interessiert.


Log in to reply