AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken TZQuery Abfrage-Result über LiveBindings darstellen
Thema durchsuchen
Ansicht
Themen-Optionen

TZQuery Abfrage-Result über LiveBindings darstellen

Ein Thema von AaronT · begonnen am 29. Okt 2012 · letzter Beitrag vom 30. Okt 2012
Antwort Antwort
AaronT

Registriert seit: 29. Okt 2012
7 Beiträge
 
#1

TZQuery Abfrage-Result über LiveBindings darstellen

  Alt 29. Okt 2012, 15:55
Datenbank: MySQL • Version: 5 • Zugriff über: Zeoslib
Hallo,

ich nutze Zeoslib und Delphi XE2. TZConnection ist mit der DB verbunden, damit ist TZQuery verbunden mit einer simplen Abfrage(die ich auch schon getestet habe). Eine DataSet ist mit der Query verbunden und eine TBindScopeDB ist mit dieser DataSet verbunden.
In den LiveBindings habe ich eingestellt das der Wert aus einer Spalte in einem Editfeld angezeigt werden soll.
Also, die MySQL-Abfrage ist korrekt und mit einer TZTable Komponente funktioniert das ganze auch nur mit der Query nicht. Es tut sich in dem Editfeld nichts. Eine Fehlermeldung kommt auch nicht.

Was muss ich machen damit das QueryResult vom LiveBinding genutzt werden kann?

Gruß
AaronT
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

AW: TZQuery Abfrage-Result über LiveBindings darstellen

  Alt 29. Okt 2012, 16:12
Du musst einmal eine BindList haben und ein BindScopeDB. Das BindScopeDB vebindest Du mit einer DataSource. Danach stellst Du noch die Expressions Deines BindLinks entsprechend ein und es sollte der Inhalt aus der Datenbank im Edit-Feld angezeigt werden. Hier noch ein Beitrag von mir zu LiveBindings. Da ist im Beitrag #6 von Sir Rufo auch ein Tutorial verlink.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
EgonHugeist

Registriert seit: 17. Sep 2011
187 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: TZQuery Abfrage-Result über LiveBindings darstellen

  Alt 29. Okt 2012, 18:34
Hmm das verwundert mich ein wenig, da TZTable und TZQuery vom TZAbstractDataSet abstammen und im Grunde nur das intern generierte Statement unterschiedlich ist. Beide tun sonst genau das Gleiche.

Von daher meine Frage: Sicher das deine Abfrage in TZQuery wirklich Resultate hervorbringt?
  Mit Zitat antworten Zitat
AaronT

Registriert seit: 29. Okt 2012
7 Beiträge
 
#4

AW: TZQuery Abfrage-Result über LiveBindings darstellen

  Alt 29. Okt 2012, 22:17
... Da ist im Beitrag #6 von Sir Rufo auch ein Tutorial verlink.
Danke das Tutorial ist gut, aber bisher hat sich eigentlich nichts geändert.

... Von daher meine Frage: Sicher das deine Abfrage in TZQuery wirklich Resultate hervorbringt?
Ich habe das gleiche Statement auch schon in PHPMyAdmin überprüft und dort hat es das gewünschte Resultat gebracht.

Und ja, ich bin auch sehr überrascht das es mit der Table-Komponente funktioniert und mit der Query nicht. Kann ich irgendwie ein Fehler-Signal erzwingen für das fehlschlagen der Query Komponente? So das ich wenigstens eine Rückmeldung bekomme?
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

AW: TZQuery Abfrage-Result über LiveBindings darstellen

  Alt 29. Okt 2012, 22:33
... Da ist im Beitrag #6 von Sir Rufo auch ein Tutorial verlink.
Danke das Tutorial ist gut, aber bisher hat sich eigentlich nichts geändert.
Wie nichts geändert ? Ich habe jetzt zwar nicht die ZeosLib, aber wenn ich mit UniDAC folgende Verbindung herstelle, funktioniert das einwandfrei :
UniConnection-->TUniQuery-->TUniDataSource-->TBindScopeDB

Bei Dir müsste das eventuell so aussehen :
TZConnection-->TZQuery-->TDataSource-->TBindScopeDB

Hast Du mal versucht statt der TBindScopeDB einfach mal ein DBGrid an die DataSource hängen. Dann kannst Du sehen, ob es an der TZQuery, an der DataSource oder am TBindScopeDB hängt. Ansonsten hänge doch mal die DFM-Datei an, vielleicht sieht man da mehr.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
AaronT

Registriert seit: 29. Okt 2012
7 Beiträge
 
#6

AW: TZQuery Abfrage-Result über LiveBindings darstellen

  Alt 30. Okt 2012, 11:20
Also wenn ich das SQL Statement schon in der Query eingefügt habe und das noch während der "Designzeit" auf active:=true setze dann funktioniert die Verlinkung. Das Editfeld füllt sich mit dem Inhalt des ausgewählten Tupels und der angegebenen Spalte, so wie ich das will.(das beweist die verlinkung ist korrekt und das SQL Statement auch)
Setze ich die Query-Komponente erst zur Laufzeit auf active dann passiert auch nichts.
Es scheint mir so als würde das Live Binding nicht auf die Verbindung anspringen.

Eine Vermutung die ich habe:
In der BindList habe ich die Source auf BindScopeDB1 gesetzt und der SourceMemberName(der Spaltenname in diesem Fall) kann eigentlich erst eingetragen wenn die Verbindung bereits besteht da hier die Komponente aus den vorzufindenden Spalten wählen lässt. Diesen Spaltennamen habe ich dort eingetragen ohne das eine Verbindung bestand. Vielleicht braucht dieser BindLink einfach nochmal die konkrete zuweisung auf diese Spalte.

Gibt es da eine Möglichkeit das über den Code zu realisieren?
  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 17:34 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