![]() |
TIBCQuery Join Abfragen
Guten Morgen,
Ich verstehe die TIBCQuery Komponente noch nicht so ganz. Wie lässt sich die TIBCQuery mit JOINS verwenden ?
Code:
Hier lässt sich der SQL-Befehl ohne weiteres in das TIBCQuery eintragen. Per Fields-Editor lassen sich alle Felder hinzufügen. Dies funktioniert soweit.
1) select * from fahrt
Code:
Da ich eine Variable verwende kann ich den SQL-Befehl nicht direkt in die TIBCQuery eintragen.
2) select * from fahrt WHERE id = (variable)
Somit mache ich dies in Delphi:
Delphi-Quellcode:
Hier lassen sich die Felder noch per Field-Editor hinzufügen wenn ich WHERE klausel weglasse. Der SQL Generator lässt sich hier auch noch verwenden da ich nur eine Tabelle habe.
qryFahrt.Close;
qryFahrt.SQL.Text := 'select * from fahrt WHERE id = '+ variable; qryFahrt.Open; Somit funktioniert auch dieses.
Code:
Bei einem JOIN komme ich nicht mehr mit. Das Hinzufügen der Felder Funktioniert noch wenn ich die WHERE klausel weglasse. Danach aber habe ich folgendes Problem:
3)select * from fahrt inner join auftrag on id = id where auftrag.id = (variable)
Ich habe zwei Tabellen somit kann ich nicht mehr per SQL Generator den SQL Code generieren lassen der für das Insert,Update,Delete,Lock,Refresh... zuständig ist. Es lässt sich halt nur eine Tabelle selektieren. Kann mir jemand ein Beispiel machen wie ich Joins mit TIBCQuery verwende ? Freundliche Grüsse Int3g3r |
AW: TIBCQuery Join Abfragen
Das mit den Variablen ist so...
Was Du suchst ist das folgende für den IBCQuery1.SQL.Text: Zitat:
Zitat:
|
AW: TIBCQuery Join Abfragen
Zitat:
Stell Dir vor, dass Dein Join vor allem eine sachgerechte Darstellung von Daten liefert. Häufig eine Haupttabelle mit ein oder mehreren Nachschlagewerten aus Hilfstabellen. Auch wenn die Daten als Join gelesen werden, erfolgt das Update immer nur auf die Haupttabelle. Das sollte ein Generator eigentlich auch berücksichtigen (ich kenne die IB Komponenten nich). Evtl. müsstest Du nachsehen, ob Dein Bedarf tatsächlich nur ein Problem von Nachschlagetabellen ist, hier ist dann evtl. der Aufbau / Anwendung der DBLookup Komponenten zu korregieren. Es gibt zusätzlich verschiedene, komplexere Möglichkeiten, die meist DB spezifisch sind. Man kann z.B. Storedprocedures erstellen, die für das "gleichzeitige" Update mehrerer Tabellen zuständig sind. Diese werden aber kaum durch einen Generator aufgerufen, sondern müssen natürlich explizit in die Updatestatement property eingetragen werden. |
AW: TIBCQuery Join Abfragen
Es gibt auch noch doch bestimmt ein IBCUpdateSQL (Ich denke mal, Du nutzt die DevArt IB Components), dort kannst Du dich mal damit beschäftigen, wie man ein Update mit Table Joins machen kann. Auch mal in die Beispiele schauen die DevArt da mitliefert.
|
AW: TIBCQuery Join Abfragen
Vielen Dank euch beiden für die Hilfe.
Zitat:
|
AW: TIBCQuery Join Abfragen
TIBCQuery kann die Insert/Update/Delete-Sql auch bei Abfragen über mehrere Tabellen automatisch erzeugen, zumindest für eine Tabelle. Muss man dann bei SQL-Generator auswählen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 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