![]() |
Datenbank: MySQL • Version: 4.1 • Zugriff über: ZEOS
Volltextsuche in MySQL
Hi,
ich benötige für mein Programm eine Volltextsuche in meiner MYSQL-DB. Ich hab das bis jetzt mit diesem Code gelöst:
Delphi-Quellcode:
Funktioniert soweit ganz gut wenn ich nach nur einem Wort suche.
procedure Tfrmsuche.edsucheChange(Sender: TObject);
var config: tinifile; begin sql.Add('SELECT * FROM auftrag WHERE MATCH(rma) AGAINST (''%'+Ansiuppercase(edsuche.Text)+'%'') OR MATCH(fehler) AGAINST (''%'+Ansiuppercase(edsuche.Text)+'%'') OR MATCH(arbeiten) AGAINST (''%'+Ansiuppercase(edsuche.Text)+'%'') OR MATCH(bemerkungen) AGAINST (''%'+Ansiuppercase(edsuche.Text)+'%'') AND auftrag.techniker= '+config.ReadString('Grundeinstellungen', 'Technikernummer','')+';'); ... Allerdings findet er erst Übereinstimmungen wenn das Wort komplett eingegeben wurde. z.B. in der DB steht "fehlende" und ich gebe nur "fehlen" ein, findet er keine Übereinstimmung. Weiterhin ignoriert er scheinbar alle folgenden Eingaben sobald er im ersten Wort Übereinstimmungen gefunden hat. Wie kann man das denn noch anders machen. Im Referenzhandbuch ist jedenfalls nix derartiges zu finden. |
Re: Volltextsuche in MySQL
SQL-Code:
usw.
select * from auftrag where rma like '%foo%' or fehler like '%bar%'
|
Re: Volltextsuche in MySQL
So hatte ich das vorher und das lief auch nicht so wirklich. So hat er so gut wie gar nix gefunden und wenn dann nur aus dem ersten Feld.
:coder2: Hab jetzt aber scheinbar den Fehler gefunden: Ich hatte die Technikernummer nicht als String angegeben. Als String läuft das mit LIKE recht gut. Dankeschön erstmal. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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