Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Tquery variabel die zweite (https://www.delphipraxis.net/167360-tquery-variabel-die-zweite.html)

fl63 26. Mär 2012 12:12

Datenbank: firebird • Version: 2 • Zugriff über: ibx

Tquery variabel die zweite
 
Hallo!

Ich habe 2 Tabellen in einer Firebird Datenbank.
Jetzt möchte ich beide Tabellen auf einmal abfragen, mit folgendem Quelltext:
Delphi-Quellcode:
procedure TForm1.AbfrageClick(Sender: TObject);
var SQLString1 , SQLString2 :String;
begin
Edit1.Text := AnsiUpperCase(Edit1.Text);
If Combobox1.Text = '' then Combobox1.Text := ' Tabelle1  Tabelle2';
Screen.Cursor := crHourGlass;
If Edit1.Text = '' then Edit1.Text := '..';
If Edit2.Text = '' then Edit2.Text := '..';
SQLString1:= StringReplace(Edit1.Text,'#','_',[rfReplaceAll]);
SQLString1:= StringReplace(SQLString1,'..','%',[rfReplaceAll]);
SQLString2:= StringReplace(Edit2.Text,'#','_',[rfReplaceAll]);
SQLString2:= StringReplace(SQLString2,'..','%',[rfReplaceAll]);
  with Query1 do
  begin
    Active:=False;
    SQL.Clear;
    SQL.Add('Select * from '+ combobox1.text +' where feld001 Like :text1 ');
    SQL.Add('And Upper (feld002) Like Upper (:text2) ');
    ParamByName('text1').asString := SQLString1;
    ParamByName('text2').asString := SQLString2;
    Active:=True;
  end;
Screen.Cursor := crDefault;
end;
Das Problem liegt bei
Delphi-Quellcode:
If Combobox1.Text = '' then Combobox1.Text := ' Tabelle1 and Tabelle2';
Ich habe schon die Möglichkeiten
Delphi-Quellcode:
... '' then Combobox1.Text := ' Tabelle1 and from Tabelle2';
sowie
Delphi-Quellcode:
... '' then Combobox1.Text := ' Tabelle1, Tabelle2';
und einige weitere ausprobiert. Leider ohne Ergebnis.
Manchmal wird Tabelle1 abgefragt und Tabelle2 nicht, meist bekomme ich Fehler 104 .

Ich hoffe auf eure Hilfe.

SirThornberry 26. Mär 2012 12:19

AW: Tquery variabel die zweite
 
Kannst du dem Thema bitte einen aussagekräftigen Titel geben? "die zweite" sagt rein gar nichts zum Problem aus. Man kann also nur raten um was es in dem Thema geht.

himitsu 26. Mär 2012 12:24

AW: Tquery variabel die zweite
 
Bei Google suchenSQL JOIN :gruebel:

Darlo 26. Mär 2012 12:26

AW: Tquery variabel die zweite
 
Hi,

nur als Ansatz:
Code:
SELECT p.Feld1, f.Feld1 FROM tableP AS p, tableF AS f

Code:
SELECT p.Feld1, f.Feld1 FROM tableP AS p LEFT JOIN tableF AS f ON p.Feld1 = f.Feld1

fl63 26. Mär 2012 12:31

AW: Tquery variabel die zweite
 
Zitat:

Zitat von SirThornberry (Beitrag 1158600)
Kannst du dem Thema bitte einen aussagekräftigen Titel geben? "die zweite" sagt rein gar nichts zum Problem aus. Man kann also nur raten um was es in dem Thema geht.

"TQuery variabel" habe ich bereits vor einigen Monaten erstellt, damals noch mit BDE, diesmal läuft es über Firebird. "die Zweite" soll nur darauf hinweisen, daß es bereits in Thema dieses Namens gibt.

SirThornberry 26. Mär 2012 12:42

AW: Tquery variabel die zweite
 
Und wenn du "mit Firebird" anstelle von "die zweite" im Titel hinzufügst?

fl63 26. Mär 2012 13:04

AW: Tquery variabel mit Firebird
 
Zitat:

Zitat von Darlo (Beitrag 1158604)
Hi,

nur als Ansatz:
Code:
SELECT p.Feld1, f.Feld1 FROM tableP AS p, tableF AS f

Code:
SELECT p.Feld1, f.Feld1 FROM tableP AS p LEFT JOIN tableF AS f ON p.Feld1 = f.Feld1

ich versteh kein Wort.

@ himitsu

Verbindet join nicht nur voneinander abhängige Tabellen?

Ich möchte zwei unabhängige Tabellen nacheinander Abfragen und das Ergebnis in einem DBGrid darstellen.

vagtler 26. Mär 2012 13:07

AW: Tquery variabel die zweite
 
Bei Google suchenSQL UNION :gruebel:

fl63 26. Mär 2012 13:08

AW: Tquery variabel mit Firebird
 
Zitat:

Zitat von SirThornberry (Beitrag 1158608)
Und wenn du "mit Firebird" anstelle von "die zweite" im Titel hinzufügst?

Ich hoffe das System hat's geändert.

DeddyH 26. Mär 2012 13:12

AW: Tquery variabel die zweite
 
Zitat:

Zitat von vagtler (Beitrag 1158623)
Bei Google suchenSQL UNION :gruebel:

Hätte ich auch vorgeschlagen. Allerdings sollte man vielleicht dazusagen, dass Anzahl und Typ der Felder dabei exakt übereinstimmen müssen. Hat eine der beiden Tabellen weniger Felder, muss man dann eben Konstanten einfügen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 Uhr.
Seite 1 von 3  1 23      

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