AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Livebindungs & FireDAC Update record mit Firemonkey
Thema durchsuchen
Ansicht
Themen-Optionen

Livebindungs & FireDAC Update record mit Firemonkey

Ein Thema von Rollo62 · begonnen am 29. Jun 2015 · letzter Beitrag vom 30. Jun 2015
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
3.901 Beiträge
 
Delphi 12 Athens
 
#1

Livebindungs & FireDAC Update record mit Firemonkey

  Alt 29. Jun 2015, 14:05
Datenbank: Sqlite3 • Version: 3 • Zugriff über: FireDAC
Hallo zusammen,

ich habe mir die Livebindings für ein CrossPlatform Projekt angeschaut.
Kenne mich mit LiveBindings + DB nicht besonders aus, aber das Demo
\Object Pascal\LiveBindings\bindgridlink\fmx\BindGridLinkF MXProject.dproj
funktioniert noch wie erwartet:

- Livebindings setzt alle Controls
- wenn man im Grid clickt folgen alle Controls nach
- ich habe auch die BindSourceDB1 gecheckt, deren DataSet steht dann wirklich auf der richtigen ReNo.

Also, alles so wie erwartet.

Wenn ich jetzt aber das Ganze bei mir in einem CrossPlatform Projekt benutze funktioniert es nicht ganz so:

- Ich benutze FireDAC mit einer Query und einer kleinen lokalen Sqlite3 Datenbank
- Die Query ist ein einfacher SELECT * from Table, der wird auch angezeigt
- OK: Livebindings setzt alle Controls (bei mit einen TListView)

- Aber wenn ich den aktuell ausgewählten Record updaten möchte geht das nicht.
In der Query, und im BindSourceDB1.Dataset (was ja dasgeleiche sein sollte) steht immer 1,
es folgt also anscheinend in der ListView nicht den User-Clicks.

Ist das so gewollt, bei StringGrid gehts, bei ListView nicht ??!!

Oder liegt es an FireDAC, bei ClientDataset gehts, bei FDQuery nicht ??

Wie ist es denn in diesem Livebindings-Fall gedacht eine Query upzudaten ?

Ich finde leider kaum Info dazu, und Livebindings ist wohl eher exotisch.
Vielleicht hat das ja trotzdem jemand mal benutzt ?

Rollo
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.901 Beiträge
 
Delphi 12 Athens
 
#2

AW: Livebindungs & FireDAC Update record mit Firemonkey

  Alt 29. Jun 2015, 14:50
Hallo zusammen,

ich habe mal ein kleines Demo gemacht.

Es sieht so aus als würde StringList die DB unterstützen, und die ListView nicht.
Verstehe ich hier etwas falsch, oder habe ich vergessen irgendwo einen Haken zu setzen ?
In den Sqlite-Parametern muss LockingMode von Exclusive auf Normal http://docwiki.embarcadero.com/RADSt..._%28FireDAC%29,
aber was sonst ?

Im Anhang ein Bild von dem Test, Clicke ich rechts ins Stringgrid werden alle controls upgedatet,
nur das ListView nicht.
Clicke ich ins ListView wird gar nichts upgedatet ?

Also ist das so gewollt (by design, nicht by user) ?
Kenne mich mit LiveBinding, FireDAC nur peripher aus ...

Ausserdem muss ich Close/Open machen damit das ListView Änderungen mitbekommt ?

Rollo
Miniaturansicht angehängter Grafiken
clipboard01.png  
Angehängte Dateien
Dateityp: zip T07_Fd.zip (60,7 KB, 4x aufgerufen)

Geändert von Rollo62 (29. Jun 2015 um 14:52 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.901 Beiträge
 
Delphi 12 Athens
 
#3

AW: Livebindungs & FireDAC Update record mit Firemonkey

  Alt 30. Jun 2015, 16:13
Sooo viele User und noch keiner hat was mit Livebindings, ListView und FireDAC gemacht ?

Das ist doch der bevorzugte Weg von Embarcadero, ich hörs an jeder Ecke zwitschern.
Warum funktioniert das dann nicht auf Anhieb ?

Vielleicht has der SelectedValue im Bild unten was damit zu tun ?
Der ist zwar Bidirektional, scheint aber weder uni- noch bi zu funktionieren.
Es wird nur einmal bei Open der ganze Table geladen, das wars dann.

Ich kann doch nicht der Erste sein der sich darüber mal Gedanken macht ...

Soll ichs nun nach dem Embarcadero-Rezept einsetzen, oder lieber selber frickeln ?
Würde ich ja machen, aber im Moment sieht die Emba-Lösung nach mehr Arbeit aus als wenn ich
die paar Daten eben von Hand programmiere.

Rollo
Miniaturansicht angehängter Grafiken
clipboard02.png  
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
213 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Livebindungs & FireDAC Update record mit Firemonkey

  Alt 30. Jun 2015, 18:13
Ich glaube nicht das Livebindings das richtige Mittel für die Arbeit mit Datenbanken ist.
Damit es zu keinen unvorhersehbaren Situationen kommt solltest du die DB Funktionen selber erstellen. Also SQL Befehle selber schreiben. Dann landet auch alles an der richtigen Stelle. Ich kenne niemanden der Livebindings nutzt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Livebindungs & FireDAC Update record mit Firemonkey

  Alt 30. Jun 2015, 19:38
da scheinst gar nicht zu Wissen was LiveBindings sindm denn mit dem datenzugriff haben diese nichts zu tun, sondern mit der Bindung von Anzeigecontrols mit Daten ( z.B. Datenbanken oder auch andere Datenquellen. man kann auch Controls an andere Controls binden.
Markus Kinzler
  Mit Zitat antworten Zitat
Rollo62

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

AW: Livebindungs & FireDAC Update record mit Firemonkey

  Alt 30. Jun 2015, 20:46
Hallo,

ja, ich habe auch ein schlechtes Gefühl dabei.
Aber Embarcadero scheint ja diese Livebindings sehr zu promoten, und das wird vielleicht in
Zukunft der Weg statt DataSources mit DataComponents zu Verbinden.
Keine Demo ohne PrototypeBindSource

Jedenfalls wenn es mit LiveBindings nicht gemacht wird bleibt nur der steinige Weg zu Fuss
was CrossPlatform mit ListViews etwas erschwert.
Das kann es doch auch nicht sein für einfache Tabellen und Listen.

Immerhin, das StringGrid scheint Emba ja als Exempel so gebaut zu haben wie man sich das vorstellt,
aber dann müssen sie doch auch alle wichtigen Komponenten (ListView) kurzfristig folgen lassen.

Im Prinzip denke ich das Livebindings eine gute Sache sein können, mich stört daran nur das es
sofot sehr unüberschaubar wird, und irgendwie im Source nicht gut/gar nicht umgesetzt werden kann.
Nur mit dem LiveBindings Designer: darauf soll ich mich verlassen ?
Als RunTime definierte Regeln könnte ich mich dafür schon eher begeistern, ohne die ganze IDE-Magic.

Ich hätte gehofft das jemand sich mit dem Thema tiefer beschäftigt hat, und vielleicht mehr
aus den LiveBindings rausholt als ich mir bis jetzt vorstellen kann.

Für mein aktuelles Projekt werde ich mich dann leider gegen LiveBindings entscheiden, ich würde
ja gerne den Emba-Weg mitgehen, wenn das nicht nur ein Luftballon wäre.

Rollo
  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 00:16 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