AGB  ·  Datenschutz  ·  Impressum  







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

FMX + Datenbindung

Ein Thema von TigerLilly · begonnen am 7. Mär 2023 · letzter Beitrag vom 9. Mär 2023
Antwort Antwort
Seite 1 von 2  1 2      
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#1

FMX + Datenbindung

  Alt 7. Mär 2023, 12:00
Mich würde interessieren wie Ihr das macht.

Ich habe Daten in einer Datenbbank und möchte die letztendlich in einem Formlular zur Bearbeitung darstellen. Unter der VCL hätte ich einfach datensensitive Komoponenten genommen. Die gibt es ja untzer FMX nicht.

Alternativen: Live Bindings, die gehen aber zB mit einigen TMS Komponenten nicht. SmartBindings von Components4Developer, die sind aber irgendwie clumsy. Ich könnte PODs machen und Transferroutinen zum Hin und Herschaufeln + Observer zum Reagieren auf Änderungen. Ab er da entsteht irgendwie jede Menge Boilerplate Code.

Wie macht Ihr das?

Danke für jeden Input.
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
269 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX + Datenbindung

  Alt 7. Mär 2023, 14:12
Ich habe, da ich FMX ausschließlich für Android und IOS verwende, quasi nie die Situation, dass ich Daten in Echtzeit behandeln muss, weswegen ich das manuell mit Queries mache, soll heißen Daten in die Form, dort bearbeiten, dann zurückschreiben bei Schließen oder Button-Click.

Ich hatte mir Live-Bindings mal angeschaut, fand sie aber umständlich, unübersichtlich und in ihren Anwendungsmöglichkeiten zu begrenzt, wie du ja schon festgestellt hast. Müsste ich wirklich Echtzeitänderungen implementieren, so würde ich das vermutlich tatsächlich manuell machen, zumal ich in derselben Zeit, in der ich mich durch den Livebinding-Assistenten geklickt habe, das Ganze auch manuell umgesetzt habe.
Da es dabei ja wie gesagt um Smartphone-Apps geht, hält sich der Aufwand zumeist eh in Grenzen und mit Datenbank/Nutzer-Konflikten auseinandersetzen fällt auf dem Smartphone ja ebenfalls weg.

Müsste ich eines meiner Desktopprogramme in FMX umsetzen, so würde ich mich fachmännisch erschießen.
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: FMX + Datenbindung

  Alt 7. Mär 2023, 14:46
Fachmännisch erschießen ist gut. Lach.

Naja, Echtzeit und Datenbank/Nutzer ist gar nicht so sehr das Thema, dazu gibt es ja Datasets, ORM und so - das ist schon ok. Ich frage mich, wie die Daten halbwegs komfortabel aus dem Dataset in die Controls am Form kommen und die Änderungen wieder zurück.

@AuronTLG: Du machst das (Datenfeld nach Control) manuell? Jedes einzeln?
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
269 Beiträge
 
Delphi 12 Athens
 
#4

AW: FMX + Datenbindung

  Alt 7. Mär 2023, 15:05
Jo, finde ich ehrlich gesagt auch nicht so aufwendig.

"XYZ.Text := Query.FieldByName('XYZ').AsString;" bzw "XYZ.Params.ParamByName('XYZ').AsString := XYZ.Text;" sind schneller geschrieben als wenn man sich stattdessen durch den Live-Binding-Assistenten durchklickt.

Wie gesagt, sind ja Smartphone-Apps. Da hat eine Form vielleicht mal 5-10 Eingabefelder, wenn überhaupt. Müsste ich das so für eine meiner VCL-Formen mit 50-100 Schaltflächen machen, wäre das schon deutlich nerviger und spätestens bei mehreren solcher Formen würde ich dann wahrscheinlich über eine Automatisierung nachdenken, welche das Verhalten von DB-Komponenten simuliert.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

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

AW: FMX + Datenbindung

  Alt 7. Mär 2023, 15:49
Ich verwende NIE und hab auch noch NIE Datenbankkomponenten verwendet...

Bei einer Datenhaltung in visuellen Komponenten stäubt sich bei mir alles...
Und auch keine Livebindings.

Eine Klasse die Aufgund der Datenbankinfos eine Datenhaltungsklasse belegen kann (ORM) am besten Referencecounted...
Dann ein Framework das diese Daten bei Bedarf an die Komponenten weiter geben kann... (Will keine Werbung machen)

Aber bei einer App ist es auch eher so: (Die drei Felder kann man per Hand belegen)

Mavarik
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#6

AW: FMX + Datenbindung

  Alt 7. Mär 2023, 17:15
Unter FMX setze ich DB nur spärlich ein.
Dazu nutze ich LiveBindings, welche ich mit speziellen Wrappern per Runtime und mit FireDAC benutze.
Funktioniert ganz gut und zuverlässig, aber wie schon gesagt für Größeres hätte ich da auch so meine Bedenken.
Mit LiveBindings via DesignEditor in der IDE werde ich wohl nicht mehr warm.
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: FMX + Datenbindung

  Alt 7. Mär 2023, 20:18
Ich verwende NIE und hab auch noch NIE Datenbankkomponenten verwendet...
Bei einer Datenhaltung in visuellen Komponenten stäubt sich bei mir alles...
Naja, in der VCL sind die DB sensitiven Komponenten samt Dataset/source je genau "ein Framework das diese Daten bei Bedarf an die Komponenten weiter geben kann".

Zitat:
Eine Klasse die Aufgund der Datenbankinfos eine Datenhaltungsklasse belegen kann (ORM) am besten Referencecounted...
Macht für mich Aurelius.

Zitat:
Dann ein Framework das diese Daten bei Bedarf an die Komponenten weiter geben kann... (Will keine Werbung machen)
Mach ruhig Werbung.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#8

AW: FMX + Datenbindung

  Alt 7. Mär 2023, 23:13
Bei einer Datenhaltung in visuellen Komponenten stäubt sich bei mir alles...
Na ja, wenn du die Darstellung eines Datenstrings in einem TCustomEdit schon als Datenhaltung in visuellen Komponenten verstehst, dann wird das mit der visuellen Darstellung von Daten aber schwierig.

Die datensensitiven Komponenten machen auch nichts anderes als die Daten bei Bedarf aus dem entsprechenden TField zu holen und diese wieder dort abzulegen, wenn sie in der visuellen Komponente verändert wurden (und noch ein bisschen was drumherum mit Formatierung und Prüfung und so, was einem die Arbeit schon gelegentlich deutlich erleichtert).

Ich benutze datensensitive Komponenten schon seit Delphi 1 und werde das auch weiter tun, wenn das eine brauchbare Lösung für das gerade aktuelle Problem sein sollte. Natürlich verwende ich auch andere Ansätze (z.B. meinen Dataset Enumerator, auch in Kombination mit datensensitiven Komponenten), immer den jeweiligen Anforderungen entsprechend. Datensensitive Komponenten von vornherein auszuschließen finde ich schon etwas - sagen wir einengend.

Übrigens benutze ich auch schon immer statische Datenbankfeldkomponenten, weil es eben viele Möglichkeiten (zumindest einfacher) bietet, in den datensensitiven Prozess einzugreifen. Die immer wieder auftauchende Abneigung dagegen kann ich nur einer unvollständigen Kenntnis der Zusammenhänge zuschreiben. Oder es ist einfach nur Geschmackssache.

Probleme machen natürlich immer die neuen Komponenten, für die es (noch) kein datensensitives Pendant gibt. Auch dafür gibt es Lösungen, die man nach einmaligem Erstellen immer wieder einsetzen kann. Ein umfassendes Beispiel habe ich vor ein paar Jahren hier beschrieben: CodeRage Deutschland 2019 - Session 06 - Zwischen DB-Controls und LiveBindings

Bisher hat sich noch keine Notwendigkeit ergeben, aber ich bin fast sicher, dass sich dieses Konzept mit etwas Geschick auch auf FMX anwenden lässt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
436 Beiträge
 
Delphi 12 Athens
 
#9

AW: FMX + Datenbindung

  Alt 8. Mär 2023, 09:22
Ups, falsch zitiert - war auch nicht so wichtig.

Geändert von Papaschlumpf73 ( 8. Mär 2023 um 09:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

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

AW: FMX + Datenbindung

  Alt 8. Mär 2023, 09:37
Bei einer Datenhaltung in visuellen Komponenten stäubt sich bei mir alles...
Na ja, wenn du die Darstellung eines Datenstrings in einem TCustomEdit schon als Datenhaltung in visuellen Komponenten verstehst, dann wird das mit der visuellen Darstellung von Daten aber schwierig.
Natürlich nicht...
Aber wenn ich einen Datenbank auf mache, hätte ich gerne die Daten im Memory und dann kann ich die Daten bei Bedarf
darstellen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:20 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