![]() |
Datenbank: Interbase • Version: 6.0 • Zugriff über: Interbase
Interbase 2 Tabellen verknüpfen über TIBTable (JOIN)
Hallo,
ich weiß gerade leider nicht wo genau ich nach suchen soll und habe leider auch nichts gefunden. Ich habe eigentlich ein ganz einfaches Problem: 1.Ich habe eine Tabelle "Adresse", in der eine Postleitzahl anzugeben ist bzw. gepflegt wird. Diese Postleitzahl ist als ID zu einer Tabelle "Postleitzahl" referenziert. Über ein DBEdit-feld lese ich den Wert der Postleitzahl aus Adresse aus, jetzt will ich aber über diese Postleitzahl einen Join zu der anderen Tabelle "Postleitzahl" machen, damit ich die zugehörige Stadt und Land bekomme der in Postleitzahl gepflegt ist und natürlich nicht in Adresse. Ich weiß gerade leider nicht wie ich das mit den Interbase bzw. TibTable Komponenetn hinbekommen soll, ohne SQL. Es müssen wohl irgendwelche Einstellungen getätigt werden, die ich leider nicht weiß. SQL wäre soetwas: select Stadt from Adresse, Postleitzahl where Adresse.ID=11111 and Adresse.PostCode=Postleitzahl.PostCode Ergebnis wäre dann z.B. Hamburg Vielen Dank für Eure Hilfe Gruß Spoona |
Re: Interbase 2 Tabellen verknüpfen über TIBTable (JOIN)
Zitat:
Zitat:
Dann noch IB 6.0. :shock: Das ist tot. IBTable ? Ist das nicht aus der noch toteren BDE ? :P |
Re: Interbase 2 Tabellen verknüpfen über TIBTable (JOIN)
Zitat:
Zitat:
Ich stimme Hansa vollständig zu, daß die an die BDE angelegte IBTable-Komponente, welche die eigentliche SQL-Ebene versteckt (Kapselung von
SQL-Code:
) nicht mehr verwendet werden sollte.
Select * from <Tabellennamen>;
Nimm eine TIBQuery und nimm die SQL-Abfrage. |
Re: Interbase 2 Tabellen verknüpfen über TIBTable (JOIN)
Hi,
Zitat:
Lemmy |
Re: Interbase 2 Tabellen verknüpfen über TIBTable (JOIN)
Hallo,
ja das Ding ist wohl leider etwas veraltet, aber ich habe die jetzt so fest in meinem Programm verankert, dass ich keine Zeit mehr habe diese jetzt alle umzubauen. Meini UNI will eine Abgabe :-) Also indem Fall wäre die ID in der Adress Dataset auch die PLZ. Habe hier keinen künstlichen Schlüssel verwendet. Vielleicht kann mir jemand sagen, wie ich das ganze mit TIBTable und TDataSource umsetze. Das wäre echt super Vielen DAnk Gruß Spoona |
Re: Interbase 2 Tabellen verknüpfen über TIBTable (JOIN)
Vorab : es dürfte egal sein, wann und wo und ob Du das da abgibst oder nicht. Du hast viel zu wenig verstanden und wenns diesmal gut geht, dann spätestens beim nächsten mal nicht mehr. :wall:
Zitat:
|
Re: Interbase 2 Tabellen verknüpfen über TIBTable (JOIN)
Hallo
Zitat:
Danke für die Erklärung ID und künstlicher Schlüssel! Ich denke ich bekomme das gerade noch hin :-) Über diese ID in der Adresstabelle würde diese ID auch NICHT den Datensatz eindeutig referenzieren. Es geht hier lediglich um eine Fremdschlüsselbeziehung zu Postleitzahl, die ich entweder über eine ID abbilde, die in der Tabelle Postleitzahl drin ist oder die PLZ als Fremdschküsselreferenzierung nehme. Aber das ist hier einfach nicht meine Frage. Ich denke ich bin im Stande ein normalisiertes Datenmodel aufzustellen. Also wenn du keine Antwort zu meiner Farge hast, dann brauche ich auch deine Kommentare nicht. Ich brauche eine richtige Antwort auf meine Frage. 1) Ich versuche es richtig über die TIBTable und DataSource Komponente hinzubekommen 2) Wenn ich die DataSet-Komponente einbaue, hätte ich eher Angst noch einige Stunden damit zu verbringen meine Anwendung zum Laufen zu bringen, wenn es einfach ist wäre es natürlich super!!!! Gruß Spoona |
Re: Interbase 2 Tabellen verknüpfen über TIBTable (JOIN)
Haben die TIbTable keine Properties Filtered und Filter? Die Eigenschaft Filter wäre eigentlich genau die Eigenschaft, in der du die Where-Klausel unterbringen könntest.
Grüße Mikhal |
Re: Interbase 2 Tabellen verknüpfen über TIBTable (JOIN)
Zitat:
Also gut, ich schreibe die 3 Zeilen (Prinzip) selber :
Delphi-Quellcode:
DS = Tdataset-Nachfahre. Hier wohl TIBDataset. Das liefert dann die Stadt der Adresse, die die ID 11111 hat. Wo soll da jetzt die PLZ ins Spiel kommen ? Da das Select so wohl auch nicht gewünscht ist empfehle ich, dieses zunächst in IBExpert zu testen. Ist es richtig, dann so in das Delphi-Programm einbauen. 8)
DS.Close;
DS.SelectSQL.Text := 'select Stadt from Adresse where Adresse.ID=11111'; DS.Open; P.S.: Das bezieht sich auf 2) in #7. Auf 1) gehe ich nicht erst ein. Der Datasource muß lediglich das Dataset zugeordnet werden. Hat das DBGrid diese Datasource, dann stehen die Daten schnell drin ! |
Re: Interbase 2 Tabellen verknüpfen über TIBTable (JOIN)
Hallo,
also um diesen Thread zu Ende zu bringen, habe ich eine schnelle Lösung gefunden. Das Stichwort lautet Lookup: Darüber kann ich ein Join realisieren, was mir in meiner Situation erstmal geholfen hat. Vielen Dank für Eure Hilfe, zukünftigt werde ich nur noch mit den Querys arbeiten :-) Gruß Spoona |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 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