AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankanwendung UI

Ein Thema von weisswe · begonnen am 24. Mär 2016 · letzter Beitrag vom 25. Mär 2016
Antwort Antwort
weisswe
(Gast)

n/a Beiträge
 
#1

Datenbankanwendung UI

  Alt 24. Mär 2016, 14:31
Hallo!

Ich "kämpfe" seit längerem mit meiner UI meiner Datenbankanwendung.

Sie ist multiplatform (Desktop) und arbeitet mit verschiedenen Datenbanken (lokal meist SQLite, online meist MySQL).
In Verwendung habe ich die UNIDAC-DB Komponenten und TMSGrid. Zur Datenbindung verwende ich Livebindings.
Hier liegt auch das Problem - das Zusammenspiel der verschiedenen Komponenten - speziell mit Livebindings - hier sind zahlreiche "Phänomäne" zu sehen.

Darum suche ich auf diesem Weg eure Erfahrung hiermit.
Mein Aufbau:
Ich habe verschiedene Objekte (z.B. Artikel, Artikelgruppen, Kunden, ...).
Diese zeige ich in Listenform an (derzeit TMSGrid)
Viele der Objekte haben auch Filter - Beispiel Artikel -> im Header kann man die Artikelgruppe auswählen -> wonach die Artikel gefiltert werden.

Welche Komponenten / Strategie verwenden ihr für solche Anwendungen?
Bin derzeit etwas ratlos.

Besten Dank,
Werner
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

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

AW: Datenbankanwendung UI

  Alt 24. Mär 2016, 14:37
Da man für eine Anzeige von Daten in Datensensitiven Komponenten immer die Datenbank offen halten muss verwende ich die NIE.

Daher auch keine DB-Grids usw.

Immer lokale Mem-Kopie erzeugen und Datenbank wieder zu... Ab diesem Zeitpunkt ist es wie mit statischen Daten...

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: Datenbankanwendung UI

  Alt 24. Mär 2016, 14:52
Moin...

[mein Senf]
Von datensensitiven Komponenten lasse ich, genau wegen komischer Effekte, seit Jahren die Finger. Vor Allem im Grid editieren ist der Horror...

Zitat:
Welche Komponenten / Strategie verwenden ihr für solche Anwendungen?
...meine Strategie:

1. programmintern existieren nur generische Listen mit Datenobjekten in der Logikschicht. Die können so schön komplex sein was ein Datensatz nie hergibt...
2. Die Listen werden dann visualisiert...kann man sich aussuchen womit.
3. Das Objekt (Pointer) hängt immer an dem Eintrag der GUI (Liste, TreeNode z.B.) Somit hat man Zugriff auf das Objekt welches den Eintrag repräsentiert.
4. Die Datenbankschicht (Interface) kennt als einzige die Datenbank.
5. Die Logik sagt (vereinfacht) der Datenbankschicht... "fülle mir mal diese generische Liste mit TPerson". TPerson kann aus Master / Detaildaten bestehen. Die Datenbankschicht baut das Objekt aus den Tabellen zusammen.
6. Beim Speichern ebenso... "speichere mir das Objekt(TPerson)". Die Datenbankschicht dröselt das Objekt in die Einzelteile auf und speichert die Master Detaildaten in die DB. (in einer Transaktion)

...fertsch Meister.

[/mein Senf]

Geändert von haentschman (25. Mär 2016 um 06:37 Uhr)
  Mit Zitat antworten Zitat
weisswe
(Gast)

n/a Beiträge
 
#4

AW: Datenbankanwendung UI

  Alt 25. Mär 2016, 07:44
Hallo!

Danke für eure Antworten.
Hab es mir schon gedacht das es da keine fertige Lösung gibt (wie auch).
Zumindest hab ich dann alles "unter Kontrolle", wenn ich es von der DB abkapsle.

Nochmals Danke!!

Schöne Ostern,
Werner
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datenbankanwendung UI

  Alt 25. Mär 2016, 09:55
Moin...
Zitat:
Zumindest hab ich dann alles "unter Kontrolle", wenn ich es von der DB abkapsle.
...der wichtigste Grund überhaupt. Ein weiterer Vorteil ist die Arbeit mit den Daten. Du kannst mal eben über eine generische Liste drüberbügeln und irgendwelche Dinge mit den Objekten anstellen, ohne das die GUI davon was mitbekommt (Berechnung etc.)...und es geht rasend schnell.
  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 18:22 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