Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Allgemeine Frage zum Umgang mit Datenbanken (https://www.delphipraxis.net/109934-allgemeine-frage-zum-umgang-mit-datenbanken.html)

guidok 10. Mär 2008 13:13

Datenbank: MSSQL • Version: Express • Zugriff über: ADO

Allgemeine Frage zum Umgang mit Datenbanken
 
Hallo,

ich habe mal allgemeine Fragen zum Thema Datenbanken.

Grundsätzlich komme ich ja mit DB klar, d.h. ich lege die eigentliche DB mit dem SQL-Manager an und sehe in meinen Programmen i.d.R. einige SQL-Anweisungen vor, die ich über eine ADOQuery aufrufe und mit deren Hilfe ich die notwendigen Tabellen erzeugen kann, falls nicht vorhanden. Das mache ich, weil ich es gerne sehe, wenn der User (alles intern) nicht noch selbst an der DB fummeln muss, sondern alles nötige automatisch abläuft.

Datenbankzugriffe laufen alle über ADOQuery und um "relativ einfach" die DB wechseln zu können, bin ich dazu übergegangen, dies so zu machen:

Die Query liegt auf einem Datenmodul (damit alle Formulare Zugriff haben). Das Datenmodul hat eine public Procedure z.B. "SelectXY(Parameter)". Hier wird die Query geöffnet. Dazu gibt es noch eine Function "GetXY: Rückgabewerte), die einen Datensatz zurückliefert und den Datensatzzeiger auf den nächsten DS setzt. In den Formularen rufe ich also ungefähr auf

SelectXY(EinWert);
while not EOF Datensatz := GetXY;

Edit: Ich verwende übrigens keine datensensitiven Komponenten, sondern fülle z.B. den VST "von Hand".

Wie schon gesagt, es funktioniert, aber ist das alles auch "schön"? Mach ich mir zuviel Aufwand? Geht es auch einfacher? Wie macht ihr DB-Spezialisten das?

Es geht mir grundsätzlich darum hier meine Stil zu verbessern und ich hoffe dabei auf eure Hilfe.

Vielen Dank, Guido


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz