Ich lasse Delphi in einer Mysql-Datenbank über ein SQL-Query die Inhalte
der
Felder auselsen.
Nun ist es aber so, dass es sich dabei um zwei Tabellen handelt, dessen
Felder zum teil
die gleiche Bezeichnung haben.
Mit folgendem Query frage ich die Daten ab:
select a.username, a.password, b.username, b.password from testdb where
a.userid like 12 and b.userid like 12
Das geht auch ohne fehlermeldung.
Nun möchte ich mit qo_test.fieldvalues['username'] auf die Daten
zugreiffen die mir von der
Datenbank zurück geliefert wurden. aber wie unterscheide ich jetzt im
fieldvalues welchen der beiden
usernamen ich nun haben möchte?
Ich habe es auch schon mit qo_test.fieldvalues['a.username'] versucht,
aber Delphi sagt immer dass
das entsprechende feld unbekannt sei.
Kann mir jemand von euch dabei weiter helfen?
Gruss André Sauder
Hallo André,
> Nun ist es aber so, dass es sich dabei um zwei Tabellen handelt,
> dessen Felder zum Teil die gleiche Bezeichnung haben.
wenn du persistente Felder erzeugst (z.B. durch
Doppelklick auf dein TQuery und dann Felder
hinzufuegen), wirst du feststellen, dass Delphi bei
Namensgleichheit den jeweils folgenden Feldern
ein "_x" anhaengt, wobei x eine aufsteigende Zahl,
beginnend bei 1, darstellt.
Imho besser loesen koenntest du das Problem,
indem du in deiner Query die Felder mittels
AS selbst benennst:
select a.username AS a_username, a.password AS a_password,
b.username AS b_username, b.password AS b_password from
testdb where a.userid like 12 and b.userid like 12
So bekommst du auch wieder eindeutige Feldnamen.
hth
Gruesse aus Koeln
Robby
--
http://www.mpscologne.de