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 2 von 3     12 3   
fl63

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

AW: Tquery variabel mit Firebird

  Alt 26. Mär 2012, 13:20
... = 'then Combobox1.Text := ' Tabelle1 union Tabelle2'; bringt auch nur Fehler 104.

@DeddyH

Tabellen haben identische Struktur.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#2

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 13:24
Dann bau doch erst einmal außerhalb von Delphi einen syntaktisch korrekten SQL-Befehl zusammen, der das gewünschte Ergebnis liefert. Erst wenn der funktioniert, macht es IMHO Sinn, ihn dynamisch zusammenzustellen.
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
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 14:16
Wenn ich mir den den ersten Beitrag ansehe scheint doch ungefähr dies hier gewünscht:

Delphi-Quellcode:
const
  SQLTEXT1='Select irgendwas from tabelle1 where diese Bedingung';
  SQLTEXT2='Select irgendwas from tabelle2 where diese Bedingung';

begin
  myquery.close;
  if bedingung then
    myquery.sql.text:=SQLTEXT1
  else
    myquery.sql.text:=SQLTEXT2;
  ...
Wenn die Dynamik über den Inhalt einer Combobox kommt, dann habe ich ein sehr ungutes Gefühl dabei.
(SQL injection)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
fl63

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

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
 
#5

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
 
#6

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
fl63

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

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
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 17:30
Ich habe 2 Tabellen in einer Firebird Datenbank.
Sind die beiden Tabellen von gleicher Feldstruktur?
Falls ja, liegt fast immer ein fehlerhaftes Datenbankdesign vor.
Dann gibt es zwei Möglichkeiten:
a.) Datenbankdesign verbessern und plötzlich werden Abfragen, die vorher ein Problem dargestellt haben ganz einfach
b.) weitermachen wie bisher

Hier noch ein Beispiel für mangelhaftes Datenbankdesign
Code:
Tabelle Frauen
==================================================================
IdGirl| Vorname | Nachname | Geburtstag | PLZ | Ort | Geburtsname

Tabelle Maenner
==================================================================
IdBoy| Vorname | Nachname | Geburtstag | PLZ | Ort
Das Beispiel ist natürlich eine klare Fehlkonstruktion.
Selbst wenn Männer üblicherweise keinen abweichenden Geburtsnamen haben (Ausnahmen bestätigen die Regel) sollte doch klar sein, dass alle Daten in eine gemeinsame Tabelle gehören
Code:
Tabelle Personen
=================================================================================
IdPerson | Vorname | Nachname | Geburtstag | PLZ | Ort | Geschlecht |Geburtsname
Andreas
  Mit Zitat antworten Zitat
fl63

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

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 18:08
Und hier die funktionierende Lösung:

Delphi-Quellcode:
SQL.Add('Select * from tabelle1 union all select * from tabelle2 where feld001 Like :text1 ');
SQL.Add('And Upper (feld002) Like Upper (:text2) ');
Diese zwei Zeilen in die Vergleichszeilen vom Quelltext Beitrag 1 kopiert und es funktioniert.

Danke an alle, FL63
  Mit Zitat antworten Zitat
vagtler

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

AW: Tquery variabel die zweite

  Alt 26. Mär 2012, 19:53
Und hier die funktionierende Lösung: [...]
Da bin ich mir nicht so sicher, Tim...

Dir ist schon klar, dass die WHERE-Bedingung nur auf die zweite Tabelle wirkt?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3   

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 12:01 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