![]() |
Datenbank: MS-SQL • Version: 2005 • Zugriff über: ADO
TADOQuery Komponente unidirektionalen Datenmenge
Hallo,
ich bekomme einen merkwürdigen Fehler bei einer SELECT Abfrage über 2 Tabellen mit einer TADOQuery Komponente. Fehler: Zitat:
Query -> DataSource -> ClientDataSet -> DataSetProvider -> DataSet DataSet -> DataSource DataSet -> Connection Code:
Delphi-Quellcode:
Vielen Dank.
zqPers := TADOQuery.Create(nil);
with zqPers do begin Connection := Form2.ADOConnection; DataSource := Form2.DataSourceADO; CursorLocation := clUseServer; SQL.Clear; SQL.Add('SELECT * FROM Tabelle1, Tabelle2 WHERE Tabelle1.Feld1 = Tabelle2.Feld2 '); Open; end; |
AW: TADOQuery Komponente unidirektionalen Datenmenge
Kann mir den niemand helfen?
|
AW: TADOQuery Komponente unidirektionalen Datenmenge
Das CursorLocation mal auskommentiert?
|
AW: TADOQuery Komponente unidirektionalen Datenmenge
Zitat:
Delphi-Quellcode:
geht es problemlos und wenn ich die Join Abfrage direkt durch den Server ausführenlasse, bekomme ich auch ein Ergebnis.
SQL.Text := 'SELECT * FROM Per';
|
AW: TADOQuery Komponente unidirektionalen Datenmenge
OK. Zurück. Ich hab glaub ich gar nicht verstanden, was du da machst.
Du gibst der Query eine Connection, über die sie die Abfrage an die DB schickt. Dann gibst du ihr aber noch eine DataSource? Wieso. Sollen die zwei Tabellen über zwei "Wege" kommen? |
AW: TADOQuery Komponente unidirektionalen Datenmenge
Also eigentlich möchte ich nur eine JOIN-Abfrage machen. Ich habe die Data Source auch weggelassen und der selbe Fehler kommt. Ich brauch ja nichts unidirektionales wenn ich nur ein SELECT machen möchte. Oder liege ich da falsch?
|
AW: TADOQuery Komponente unidirektionalen Datenmenge
Hallo,
der Fehler könnte die Query sein. Funktioniert folgendes?
Delphi-Quellcode:
SQL.Text:=
'SELECT t1.*, t2.* FROM Tabelle1 t1 INNER JOIN Tabelle2 t2 WHERE t1.Feld1 = t2.Feld2'; |
AW: TADOQuery Komponente unidirektionalen Datenmenge
Hallo,
der Fehler der MS-SQL 2005 DB: Meldung 156, Ebene 15, Status 1, Zeile 1 Falsche Syntax in der Nähe des 'WHERE'-Schlüsselwortes. Der Code der MS-SQL 2005 DB: SELECT t1.*, t2.* FROM Per t1 INNER JOIN ZOrgPer t2 WHERE t1.pkPerID = t2.fkPerID |
AW: TADOQuery Komponente unidirektionalen Datenmenge
Joins mit ON nicht mit Where...
kann es sein dass Du keine Primärschlüssel in den Tabellen hast? |
AW: TADOQuery Komponente unidirektionalen Datenmenge
Und an der "alten" Syntax scheint es auch nicht zu liegen. Ich habe hier einmal ein kleines Testprojekt mit ADO auf SQLExpress 2008 gemacht, das funktioniert ohne Probleme. Bist Du ganz sicher, dass das auch wirklich der fehlerverursachende Code ist?
P.S.: Welchen DB-Treiber hast Du denn ausgewählt? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz