AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Tquery variabel die zweite

Ein Thema von fl63 · begonnen am 26. Mär 2012 · letzter Beitrag vom 27. Mär 2012
Antwort Antwort
Seite 1 von 3  1 23   
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#1

Tquery variabel die zweite

  Alt 26. Mär 2012, 12:12
Datenbank: firebird • Version: 2 • Zugriff über: ibx
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
If Combobox1.Text = 'then Combobox1.Text := ' Tabelle1 and Tabelle2'; Ich habe schon die Möglichkeiten
... 'then Combobox1.Text := ' Tabelle1 and from Tabelle2'; sowie
... '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.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 12:19
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.111 Beiträge
 
Delphi 12 Athens
 
#3

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 12:24
Bei Google suchenSQL JOIN
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Darlo

Registriert seit: 28. Jul 2008
Ort: München
1.196 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 12:26
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
Philip
  Mit Zitat antworten Zitat
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#5

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 12:31
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.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 12:42
Und wenn du "mit Firebird" anstelle von "die zweite" im Titel hinzufügst?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#7

AW: Tquery variabel mit Firebird

  Alt 26. Mär 2012, 13:04
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.
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#8

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 13:07
Bei Google suchenSQL UNION
  Mit Zitat antworten Zitat
fl63

Registriert seit: 30. Mär 2008
124 Beiträge
 
#9

AW: Tquery variabel mit Firebird

  Alt 26. Mär 2012, 13:08
Und wenn du "mit Firebird" anstelle von "die zweite" im Titel hinzufügst?
Ich hoffe das System hat's geändert.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 13:12
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:47 Uhr.
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