Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Schreibschutz bei MySQL Select über mehrere Tabellen? (https://www.delphipraxis.net/36855-schreibschutz-bei-mysql-select-ueber-mehrere-tabellen.html)

mjenke 27. Dez 2004 09:38


Schreibschutz bei MySQL Select über mehrere Tabellen?
 
Hallo, alle miteinander!

Wünsche fröhliche Weihnachten gehabt zu haben!!!

Aber hier kommt eine Frage:

Nehmen wir an, ich hätte eine MySQL-Datenbank mit zwei Tabellen:

tkunden
id - Integer
nachname - text
vorname - text

tbestellungen
id - Integer
kunde - Integer
bestelldat - datum

Wenn ich jetzt eine Abfrage über zwei Tabellen abschicke, könnte das folgendermassen aussehen:

SQL-Code:
SELECT t1.id, t1.bestelldat, t2.nachname, t2.vorname FROM
tbestellungen t1, tkunden t2 WHERE t1.kunde = t2.id
Diese Abfrage, direkt in die Konsole geschrieben, bringt das gewünschte Ergebnis.
Wenn ich diese Abfrage allerdings in einer TQuery-Komponente anwende und dann die Query öffne, bekomme ich eine Fehlermeldung, dass die zweite Tabelle schreibgeschützt sei...

Weiss jemand, warum das so ist?

Halt, mir fällt gerade ein, dass ich in der Query das RequestLive auf TRUE stehen habe... Könnte das etwas damit zu tun haben??? Weil ich ja eine editierbare Ergebnismenge erhalte???

:?:
Matthias

Jelly 27. Dez 2004 09:42

Re: Schreibschutz bei MySQL Select über mehrere Tabellen?
 
Zitat:

Zitat von mjenke
Halt, mir fällt gerade ein, dass ich in der Query das RequestLive auf TRUE stehen habe... Könnte das etwas damit zu tun haben??? Weil ich ja eine editierbare Ergebnismenge erhalte???

Definitv ja... Wenn du 2 Tabellen verknüpfst, hast du in der Regel keine editierbar Menge mehr, folglich schlägt requestlive=true fehl. Vielleicht hilfts aber schon, dein SQL befehl umzuändern, eventuell so:
SQL-Code:
SELECT t1.id, t1.bestelldat, t2.nachname, t2.vorname FROM
tbestellungen t1 left join tkunden t2 on t1.kunde = t2.id
Dies wird eventuell vom DBServer anders interpretiert.

mjenke 27. Dez 2004 10:44

Re: Schreibschutz bei MySQL Select über mehrere Tabellen?
 
Hallo, Jelly!

Vielen Dank für die Antwort.

Das join bringt keinen Unterschied, das hatte ich ebenfalls ausprobiert. Ich denke, die Ursache liegt wahrscheinlich wirklich eher in dem RequestLive begründet...

:lol:
Matthias

Jelly 27. Dez 2004 10:50

Re: Schreibschutz bei MySQL Select über mehrere Tabellen?
 
Nein, nicht im Requestlive, sondern an der SQL Abfrage. Die Daten sind nur dann editierbar, wenn sie ein eindeutiges Ergebnis liefern. Ist das nicht der Fall, schlägt RequestLive fehl.

Als Ausweg kannst du´dir aber mal TUpdateSQL ankucken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:06 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