Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Suchfunktion (https://www.delphipraxis.net/107914-suchfunktion.html)

Delphi-Verrückter 4. Feb 2008 15:51

Datenbank: Microsoft Access • Version: 2003 • Zugriff über: ADO

Suchfunktion
 
Hi
Ich habe mir mal einen kleinen Vokabel Trainer programmiert und jetzt wollste ich noch ein Lexikon einbauen.
Mein Problem ist, dass ich nicht weiß, wie man nach Teilworten oder Buchstaben sucht. Nach dem vollständigen Wort kann ich suchen aber nach z.B. wenn ich "do" eingebe alle begriffe kommen in dem Fall zum beispiel dog,dome, ...
MfG J.-H. D.

Die Muhkuh 4. Feb 2008 15:52

Re: Suchfunktion
 
Hi,

SQL-Code:
SELECT * FROM Tabelle WHERE Feld LIKE "bla%"
Das Prozentzeichen dient als Platzhalter (wie z.B. der *). Bei dieser SQL-Abfrage würde alles gefunden werden, was mit bla anfängt.

Delphi-Verrückter 4. Feb 2008 15:55

Re: Suchfunktion
 
Ich hab es im Moment so :
Delphi-Quellcode:
ADOquery2.SQL.Text:= 'Select Franz from franz where ID= :suchwert'
Und jetzt soll ich es so machen :
Delphi-Quellcode:
ADOquery2.SQL.Text:= 'Select Franz from franz where ID like suchwert'
???? ne das is bestimmt falsch


Ich benutze ADO

Die Muhkuh 4. Feb 2008 15:58

Re: Suchfunktion
 
Delphi-Quellcode:
ADOquery2.SQL.Text:= 'Select Franz from franz where ID LIKE :suchwert';
AdoQuery2.ParamByName('suchwert').AsString := Edit1.Text + '%';
so z.B.

DeddyH 4. Feb 2008 16:00

Re: Suchfunktion
 
So hast Du es doch schon richtig, da fehlt nur die Parameterübergabe.
Delphi-Quellcode:
ADOquery2.Parameters.ParamByName('suchwert').AsString := irgendwas + '%';
Ich weiß nicht, ob das korrekte ADO-Syntax ist, aber im Wesentlichen sollte das schon so stimmen.

Delphi-Verrückter 4. Feb 2008 16:03

Re: Suchfunktion
 
Was bedeutet das ('suchwert')--->.AsString := Edit1.Text + '%'; <--- ?? und wofür steht das " '%' "

dumme Frage nebenbei : wie stell ich mein Label so ein, dass es den inhalt, der sich ändert immer mittig darstellt
z.B. wenn da
Delphi-Quellcode:
Haus
steht soll die mitte genau die position haben wie wenn da
Delphi-Quellcode:
Riesenbier
steht ??

DeddyH 4. Feb 2008 16:07

Re: Suchfunktion
 
Du hast doch im SQL den Parameter :suchwert definiert. Dieser wird mit der Zuweisung ParamByName('suchwert').AsString mit einem String befüllt (die ' außenrum kommen dann automatisch). Und das %-Zeichen ist in SQL ein Platzhalter für beliebig viele Zeichen (so wie * unter Windows).

Die Muhkuh 4. Feb 2008 16:08

Re: Suchfunktion
 
Das

Delphi-Quellcode:
...('suchwert').AsString := Edit1.Text + '%';
bedeutet, dass Du dem Parameter suchwert (genauer der Parameter :suchwert in der SQL-Abfrage), einen String mit dem Text aus Edit1 zuweist. Zusätzlich wird noch ein % angehängt, der eben dafür sorgt, dass bei einer Eingabe von Haus auch Haustür, Haustor, Haushund gefunden wird.

Zur "dummen Frage": ;)

Setz die Eigenschaft des Labels AutoSize auf false und Alignment auf taCenter.

[edit] Mist, jetzt war der "Hund" doch schneller :stupid: [/edit]

Delphi-Verrückter 4. Feb 2008 16:16

Re: Suchfunktion
 
Danke ich probiers aus ...

Delphi-Verrückter 4. Feb 2008 16:30

Re: Suchfunktion
 
Also könnte ich einfach so machen
Delphi-Quellcode:
...('suchwert').AsString := '%' + Edit1.Text + '%';


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 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