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:
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','
')+'
;');
...
Funktioniert soweit ganz gut wenn ich nach nur einem Wort suche.
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.