Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   2 Query 's verbinden (https://www.delphipraxis.net/183491-2-query-s-verbinden.html)

Jick 14. Jan 2015 10:49

Datenbank: Firebird • Version: 2,5 • Zugriff über: Zeoslib

2 Query 's verbinden
 
Hallo,

gibt es eine Möglichkeit 2 Query's von 2 Datenbanken in einem DBGrid darzustellen ?
Ich habe zwar gelesen das eine Abfrage über 2 Datenbanken mit Firebird 2,5 gehen soll aber kein Beispiel gefunden,
deshalb suche ich jetzt eine Möglichkeit 2 getrennte Abfragen zu verknüpfen.

Grüße
Michael

Perlsau 14. Jan 2015 11:20

AW: 2 Query 's verbinden
 
Klar, du kannst doch einfach ein Nachschlagefeld in einem Query erstellen und dann aus einer DataSource nachschlagen, die zur anderen Datenbank gehört.

p80286 14. Jan 2015 11:26

AW: 2 Query 's verbinden
 
Zitat:

Zitat von Perlsau (Beitrag 1286499)
Klar, du kannst doch einfach ein Nachschlagefeld in einem Query erstellen und dann aus einer DataSource nachschlagen, die zur anderen Datenbank gehört.

was ist ein "Nachschlagefeld"?

Gruß
K-H

Bernhard Geyer 14. Jan 2015 11:28

AW: 2 Query 's verbinden
 
Zitat:

Zitat von Perlsau (Beitrag 1286499)
Klar, du kannst doch einfach ein Nachschlagefeld in einem Query erstellen und dann aus einer DataSource nachschlagen, die zur anderen Datenbank gehört.

Firebird sagt da aber was anders: http://stackoverflow.com/questions/2...more-databases
So richtigen Support haben sie dafür (noch) nicht.

himitsu 14. Jan 2015 12:04

AW: 2 Query 's verbinden
 
Zitat:

Zitat von p80286 (Beitrag 1286501)
was ist ein "Nachschlagefeld"?

Lookup-Field (auch wenn ich das noch nicht als TField, sondern nur als GUI-Komponente kenn, so ala TDBLookupComboBox, oder als Column eines DBGrids)
Man könnte auch ein Calc-Field verwenden und manuell den Wert von sonstwo rüberziehen.


Ansonsten bieten einige DBMS auch die Möglichkeit in einem Select oder DBFunction auf externe Datenbanken zuzugreifen. (manchmal sogar auf Welche eines komplett anderen DBMS)
Wie das jetzt in Firebird geht ... k.A., aber siehe Bernhard.

Perlsau 14. Jan 2015 12:04

AW: 2 Query 's verbinden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das hat doch mit Firebird gar nichts zu tun, sondern mit deinen DB-Komponenten. Hab's doch eben extra nochmal getestet: Je eine Firedac-Connection mit Datenbank A und Datenbank B. Dann eine Query nebst Datasource und für jede DB eine Transaktionskomponente. Im Query, das mit DB-A verbunden ist legst du ein Nachschlagefeld an (siehe Bild unten; @p80286: heißt halt so ... Feldtyp: Nachschlagen). Dort gibts du als Nachschlage-Tabelle das Datasource des Queries an, das mit DB-B verbunden ist. Keinerlei Probleme.

Zitat:

Zitat von himitsu (Beitrag 1286504)
Man könnte auch ein Calc-Field verwenden und manuell den Wert von sonstwo rüberziehen.

Warum umständlich, wenn's auch einfacher geht? Berechnete Felder verwende ich nur, wenn sich der darzustellende Inhalt wirklich nur durch "Berechnung" ermitteln läßt.

Neumann 14. Jan 2015 12:22

AW: 2 Query 's verbinden
 
Der Zugriff auf mehrere Datenbanken geht mit Firebird, am Besten über eine Storedprocedure oder über ein Block Statement. Ist nicht ganz einfach, es gibt aber Beispiele dazu. Einfach mal nach "execute statement" und Firebird suchen.

DeddyH 14. Jan 2015 12:26

AW: 2 Query 's verbinden
 
Wenn man den von Bernhard angesprochenen Beitrag zu Ende liest, ist das dort sogar verlinkt ;)

himitsu 14. Jan 2015 12:29

AW: 2 Query 's verbinden
 
Zitat:

Das hat doch mit Firebird gar nichts zu tun, sondern mit deinen DB-Komponenten. .......
Und genau das ist ein Lookup-Field. :angel:

p80286 14. Jan 2015 12:46

AW: 2 Query 's verbinden
 
Interessant,
aber ich habe die ursprüngliche Fragestellung so verstanden, daß zwei Datenmengen, der gleichen bzw. ähnlichen Struktur (z.B. Adresssätze) in einem Grid dargestellt werden sollen.
Also ungefähr so:

db1 - Müller, Ferdinand
db2 - Müller, Friedrich
db1 - Müller, Friedrich
db1 - Müller, Gustav
db2 - Müntefehring, Annette
db1 - Müntefehrin, Annete

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr.
Seite 1 von 2  1 2      

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