Autor Beitrag
Kaischi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 20



BeitragVerfasst: Mo 30.09.02 10:53 
HI leute!!!

Bin auf TQuery umgestiegen. denke da habe ich mehr möglichkeiten zum suchen usw.
Aber sagt mir mal, wenn ich in einer tabelle string und Integer Typen habe z.B. 350 TL!
Wie suche ich dann danach??????????

ich muß dann ja etwas haben was beides enthällt.

Und nochwas: Welchen Befehl muß ich schreiben, damit ich alle Sachen auch klein schreiben kann???????????????


vielen dank
gruß kaischi
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Mo 30.09.02 11:23 
Hi
Kaischi hat folgendes geschrieben:
Aber sagt mir mal, wenn ich in einer tabelle string und Integer Typen habe z.B. 350 TL!
Wie suche ich dann danach??????????

Sollen das nun zwei getrennte Felder sein oder nur eins? Wenns zwei unterschiedliche Felder sind, bleibt dir nix anderes übrig, als die WHERE-Klausel entsprechend aufzubereiten.
ausblenden Quelltext
1:
SELECT * from TABELLE where Intfeld = GesuchterWert					

oder
ausblenden Quelltext
1:
SELECT * from TABELLE where Stringfeld = 'GesuchterWert'					

Wenn das ein Feld ist, dann ist das ja sowieso ein Stringfeld. Also Variante 2.
Zitat:

Und nochwas: Welchen Befehl muß ich schreiben, damit ich alle Sachen auch klein schreiben kann???????????????

Zum Beispiel so:
ausblenden Quelltext
1:
Query.SQL.Text := 'SELECT * from Tabelle where Upper(Feld) like ' + QuotedStr(UpperCase(Edit1.Text));					

Edit1 soll in dem Beispiel ein Eingabefeld für den Suchbegriff sein. Damit wird sowohl dein Suchbegriff als auch der Feldinhalt in Grossbuchstaben umgewandelt und dann erst verglichen.
Beim Zugriff auf lokale Tabellen mit der BDE würde das auch mit Kleinbuchstaben (Lower) funktionieren. Aber beim Zugriff auf ne SQL-Datenbank gehst du damit Baden, weils da Lower nicht gibt.

Und noch was:
Könntest du bitte mal damit aufhören an jede Frage zig Fragezeichen oder Ausrufungszeichen dranzuhängen? Das nervt :evil:

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Mo 30.09.02 11:25 
Ach und noch was:
Die Aussagekraft deines Betreffs ist gleich Null :wink:

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
Alfons-G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 307

Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
BeitragVerfasst: Mo 30.09.02 11:29 
:wave:
Strings musst Du in dem meisten SQL-Dialekten in einfache Anführungszeichen setzen, bei LocalSQL (Paradox) und Access aber in Doppelte.
1. Wenn Du gkeichzeitig nach String- und Zahlenfeldern suchtst, verknüpfst Du die Felder mit AND.
2. Mit UPPER und LOWER kannst Du Strings groß oder klein machen.
3. Mit Like suchst Du nach Strings mit Platzhaltern (%,_)
4. Mit IN überprüfst Du, ob ein Feldwert mit einem Element aus einer Liste übereinstimmt.
5. Mit BETWEEN kannst Du Zahlen aus einem bestimmten Bereich auswählen.
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
SELECT * FROM Tabelle WHERE

1. (Zahl = 350) AND (TEXT = 'TL')

2. UPPER(Text) = 'TL'

3. Text LIKE 'T%'

4. Text IN ('TL', 'Test', 'Dummy')

5. Zahl BETWEEN 300 AND 400

Schau Dir die LocalSQL-Hilfe an (Startmenü|Programme|Delphi|Hilfe|Borland Database Engine|Handbuch zu LocalSQL)
Falls Du nicht mit Paradox oder DBase arbeitest, studier die SQL-Beschreibung Deiner Datenbank - manche Befehle sind ein wenig unterschiedlich.

:idea:

_________________
Alfons Grünewald