![]() |
AW: Tquery variabel die zweite
|
AW: Tquery variabel die zweite
Zitat:
Zitat:
Aber dafür gibt es Google. ;) Sinnvoll wäre für den Threadersteller meiner Meinung erst einmal die Absolvierung eines fundierten SQL-Basiskurs. |
AW: Tquery variabel mit Firebird
Delphi-Quellcode:
bringt auch nur Fehler 104.
... = '' then Combobox1.Text := ' Tabelle1 union Tabelle2';
@DeddyH Tabellen haben identische Struktur. |
AW: Tquery variabel die zweite
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.
|
AW: Tquery variabel mit Firebird
Zitat:
|
AW: Tquery variabel die zweite
Wenn ich mir den den ersten Beitrag ansehe scheint doch ungefähr dies hier gewünscht:
Delphi-Quellcode:
Wenn die Dynamik über den Inhalt einer Combobox kommt, dann habe ich ein sehr ungutes Gefühl dabei.
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; ... (SQL injection) Gruß K-H |
AW: Tquery variabel die zweite
Zitat:
Delphi-Quellcode:
SQl.Text := 'select * from tabelle1 und tabelle2 where feld1....
// wobei ..tabelle1 und tabe... ein einschließendes und darstellen soll |
AW: Tquery variabel die zweite
Aber ohne JOIN, oder? Da bietet sich wie gesagt die UNION an.
SQL-Code:
Das soll jetzt nur eine grobe Orientierung sein.
SELECT Feld1, Feld2, Feld3, ... FROM Tabelle1
UNION ALL SELECT Feld1, Feld2, Feld3, ... FROM Tabelle2 |
AW: Tquery variabel die zweite
Zitat:
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:
Das Beispiel ist natürlich eine klare Fehlkonstruktion.
Tabelle Frauen
================================================================== IdGirl| Vorname | Nachname | Geburtstag | PLZ | Ort | Geburtsname Tabelle Maenner ================================================================== IdBoy| Vorname | Nachname | Geburtstag | PLZ | Ort 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 |
AW: Tquery variabel die zweite
Und hier die funktionierende Lösung:
Delphi-Quellcode:
Diese zwei Zeilen in die Vergleichszeilen vom Quelltext Beitrag 1 kopiert und es funktioniert.
SQL.Add('Select * from tabelle1 union all select * from tabelle2 where feld001 Like :text1 ');
SQL.Add('And Upper (feld002) Like Upper (:text2) '); Danke an alle, FL63 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 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 by Thomas Breitkreuz