Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Anwendungsdesign: Datenbankanwendung, Refresh.

  Alt 17. Feb 2013, 18:00
Delphi ist ganz klar auf eine 2-Tier-Architektur aufgelegt.
Hier die Anwendung, dort der Datenbankserver.
Alle Methodenaufrufe sind synchron, d.h. blockierend.
(Ich verallgemeinere hier jetzt etwas, aber das sind ganz grob die Eigenschaften von Delphi)
Wenn man das ändern möchte, müsste asynchrone Funktionen in Delphi einführen oder andere Klimmzüge ausführen die einem das Leben als Programmierer vermiesen.
Ausserdem müssten die Datenbanktreiberschichten ebenfalls überarbeitet werden.

Wenn man Tabellen mit vielen Datensätzen anzeigen möchte, muss man einen Filter davorschalten um die Datenmenge einzuschränken.
Der Benutzer muss also irgendwelche Einschränkungen (z.B. Datumsbereich) vorgeben, bevor er die Daten zu sehen bekommt.
Bei den ADO-Komponenten kann man bei manchen Servern (eigentlich nur MS SQL-Server) die CursorLocation auf clUseServer stellen.
Dann kehrt die Abfrage relativ schnell mit Daten zurück, aber das Scrollen im DBGrid wird dafür sehr langsam (weil im Hintergrund Daten nachgeladen werden).
Ausserdem wird der Server ziemlich stark beansprucht.
  Mit Zitat antworten Zitat