AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Schreibschutz bei MySQL Select über mehrere Tabellen?
Thema durchsuchen
Ansicht
Themen-Optionen

Schreibschutz bei MySQL Select über mehrere Tabellen?

Ein Thema von mjenke · begonnen am 27. Dez 2004 · letzter Beitrag vom 27. Dez 2004
Antwort Antwort
mjenke

Registriert seit: 28. Mär 2003
Ort: Bonn
131 Beiträge
 
#1

Schreibschutz bei MySQL Select über mehrere Tabellen?

  Alt 27. Dez 2004, 09:38
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
Matthias Jenke
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Schreibschutz bei MySQL Select über mehrere Tabellen?

  Alt 27. Dez 2004, 09:42
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.
  Mit Zitat antworten Zitat
mjenke

Registriert seit: 28. Mär 2003
Ort: Bonn
131 Beiträge
 
#3

Re: Schreibschutz bei MySQL Select über mehrere Tabellen?

  Alt 27. Dez 2004, 10:44
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...


Matthias
Matthias Jenke
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Schreibschutz bei MySQL Select über mehrere Tabellen?

  Alt 27. Dez 2004, 10:50
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.
  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 14:25 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