AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Best-Practices Datenbanken in Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

Best-Practices Datenbanken in Delphi

Ein Thema von Relic · begonnen am 19. Jan 2021 · letzter Beitrag vom 1. Feb 2021
Antwort Antwort
freejay

Registriert seit: 26. Mai 2004
Ort: Nürnberg
273 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Best-Practices Datenbanken in Delphi

  Alt 25. Jan 2021, 13:27
Moin zusammen,

ich habe mich nun ein bisschen durch das Forum geklickt und diverse Datenbank Meinungen mir durchgelesen.
Dabei habe ich jetzt mehrfach gelesen, dass man von datensensitiven Komponenten (d.h. TDBEdit und ähnlichem) und auch den ganzen Table-Komponenten im Datenbankbereich Abstand nehmen sollte.
Gleichzeitig gab es aber auch Meinungen, dass die Methoden Post, Append und sowas meistens besser sind, als direkte SQL-Statements.

Ich habe die Entwicklung einer Legacy-Applikation (ohne Firedac oder ähnlichem) übernommen und habe nur vom vorherigen Programmierer gelernt. Daher würde ich mich freuen hier mal neue Ideen / Best-Practices zu erhalten.

In der von mir betreuten Applikation wird eigentlich so gut wie alles über die Tables, Ranges, Filter und datensensitiven Komponente gelöst und ich bin mir nun unsicher, was der richtige Weg ist.


Schöne Grüße!
Ich finde man ist bei datensensitiven Controls in der Auswahl der Komponenten und deren Möglichkeiten etwas eingeschränkt. Vor allem, was das Verhalten der Controls angeht. Ich arbeite daher immer mit "normalen" Controls. Das heißt aber noch lange nicht, dass man auf Gedeih und Verderb eine Legacy-Anwendung deswegen komplett umbauen muss. Vielleicht probiert man eine andere Lösung mal an einem neuen Modul aus oder bei einem, das sowieso umgebaut werden muss. Dann kann man mit beiden varianten Erfahrungen sammeln und am Ende herausbekommen, was im Anwendungsfall die bessere Lösung ist. Einen für alle Fälle "richtigen Weg" gibt es da meiner Meinung nach nicht.
[Delphi 11.3.1 Enterprise; Win10/11; MySQL; VCL]
  Mit Zitat antworten Zitat
DasWolf

Registriert seit: 7. Jun 2016
76 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: Best-Practices Datenbanken in Delphi

  Alt 25. Jan 2021, 13:41
Ich finde man ist bei datensensitiven Controls in der Auswahl der Komponenten und deren Möglichkeiten etwas eingeschränkt. Vor allem, was das Verhalten der Controls angeht. Ich arbeite daher immer mit "normalen" Controls.
Kannst Du das bitte mal genauer ausführen. Was sind für Dich normale Controls? Welche Möglichkeiten sind denn eingeschränkt?
  Mit Zitat antworten Zitat
freejay

Registriert seit: 26. Mai 2004
Ort: Nürnberg
273 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Best-Practices Datenbanken in Delphi

  Alt 25. Jan 2021, 15:00
Naja, "normale" Controls sind alle, die nicht datensensitiv sind (also nicht mit TDB... beginnen). Ich finde halt die Tatsache, dass die TDB... Komponenten sozusagen fest mit der Datenbank verdrahtet sind, limitieren. Natürlich kommt es total drauf an, was man gerade macht und vielleicht geht auch mehr als ich denke (mittlerweile?) mit TDB... Komponenten. K.A.

Aber ich zeige z.B. in einer Applikation die Daten von der Datenbank in einer verdichteten hierarchischen Form an (die Daten kommen dabei aus verschiedensten Tabellen) - siehe Anhang. Das ist mit einem datensensitiven Control (z.B. TDBGrid) einfach nicht möglich.
Angehängte Grafiken
Dateityp: jpg Hierarchische Daten.jpg (48,9 KB, 47x aufgerufen)
[Delphi 11.3.1 Enterprise; Win10/11; MySQL; VCL]
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Best-Practices Datenbanken in Delphi

  Alt 25. Jan 2021, 15:32
Naja die DBControls sind ja die "alten" mittlerweile ist ja jedes Control über die LiveBindings bindbar… (Grusel)

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#5

AW: Best-Practices Datenbanken in Delphi

  Alt 25. Jan 2021, 20:44
Ich kann die Ablehnung von DBControls nicht so ganz nachvollziehen. Sie haben ja alles, was man an Notifications braucht + sonst selbst nachbauen würde. Sie müssen ja nicht direkt an eine Query gehängt werden. Für mich hat das mit Clientdatasets sehr gut funktioniert: TQuery --> TProvider --> TClientdataset Kann man sogar alles schön entkoppeln.
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
625 Beiträge
 
Delphi XE6 Enterprise
 
#6

AW: Best-Practices Datenbanken in Delphi

  Alt 1. Feb 2021, 17:43
Ich kann die Ablehnung von DBControls nicht so ganz nachvollziehen. Sie haben ja alles, was man an Notifications braucht + sonst selbst nachbauen würde. Sie müssen ja nicht direkt an eine Query gehängt werden. Für mich hat das mit Clientdatasets sehr gut funktioniert: TQuery --> TProvider --> TClientdataset Kann man sogar alles schön entkoppeln.
Mein Reden seit Achtzehnsiebzig.

Ich mache auch alles mit Clientdatasets, aber ohne ständige Verbindung zur Datenbank. Habe mir so Funktionen gebaut, die Provider und Query on the fly erzeugen, die Selektion durchführen, die Daten ins CDS laden und danach die Verbindung trennen. Dann kann man mit den Daten machen, was nötig ist. Sollte geupdatet werden, gibts wieder ne Verbindung zur Datenbank und in einer kurzen Transaktion wird die Datenbank geupdatet.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz