Problem mit TQuery
-
Hallo,
ich arbeite mit codegear2006
und würde gern auf eine Mysql DB zugreifen. das klappt auch soweit ganz gut
(normale select befehle,.... klappten, auch insert , und update klappt.)
sobald man aber ein DISTINCT , INNER JOIN oder GROUP BY benutzt sagt Borland Tabelle ist schreibgeschützt.Danke
und LGChris
-
Die Verbindung baue ich über Tdatabase auf DB1->DatabaseName="MeineDB"; DB1->AliasName="logDB"; DB1->Params->Values["user name"]=""; DB1->Params->Values["password"]=""; DB1->Connected=true; ----------------------------------- Query1->DataBaseName="MeineDB"; SQL....
-
Das ist völlig korrekt.
Aus der Hilfe:
EinzeltabellenabfragenAbfragen, die Daten aus einer einzelnen Tabelle abrufen, sind unter folgenden Voraussetzungen aktualisierbar:
Die SELECT-Anweisung darf nicht das Schlüsselwort DISTINCT enthalten.
Die SELECT-Klausel beschränkt sich auf eine einfache Spaltenreferenz oder auf eine berechnete Spalte. Aggregationen sind unzulässig. Berechnete Spalten bleiben schreibgeschützt.
Die in der FROM-Klausel referenzierte Tabelle ist eine aktualisierbare Basistabelle.
Es ist keine GROUP BY- oder HAVING-Klausel vorhanden.
In der Anweisung sind keine Unterabfragen enthalten.Die Abfrage enthält keine ORDER-BY-Klausel.
Wenn in der ORDER-BY-Klausel nur eine Spalte angegeben ist und ein einspaltiger dBASE-Primär- oder Sekundärindex vorhanden ist, der auf ebendiesem Feld beruht, wird der Nur-lesen-Effekt einer ORDER-BY-Klausel aufgehoben und die Abfrage aktualisierbar. Dies gilt nicht, wenn ein zusammengesetzter dBASE-Index vorliegt. Ein Paradox-Einfeld- oder Mehrfeld-Primärindex macht die Abfrage aktualisierbar, wenn ORDER BY exakt die gleichen Spalten (in der gleichen Reihenfolge) verwendet wie der Index. Paradox-Sekundärindizes dagegen heben den Nur-lesen-Effekt einer ORDER-BY-Klausel nicht auf.
Mehrtabellenabfragen
Alle Abfragen, bei denen zwei oder mehr Tabellen miteinander verbunden werden, erzeugen eine schreibgeschützte Ergebnismenge.
Berechnete Felder
Bei aktualisierbaren Abfragen mit berechneten Feldern kennzeichnet eine zusätzliche Feldeigenschaft ein Ergebnisfeld als schreibgeschütztes und berechnetes Feld. Jeder Aufruf der BDE-Funktion DbiPutField verursacht eine Neuberechnung etwaiger abhängiger Felder.