Ich muss eine Delphi 7 und MySQL Datenbankabfrage schreiben, die die Datensätze einschließlich aller Wörter im übermittelten Namen zurückgeben würde. Die Abfrage wird also Datensätze zurückgeben, die all diese Namen enthalten, aber unterschiedliche Reihenfolge haben können.Abfrage zu Suche Alle möglichen Wörter
Zum Beispiel, wenn die Suchzeichenfolge John Michael Smith ist, sollte Abfrage in der Lage sein, Datensätze mit Namen wie John Smith Michael, Michael Smith John, Smith John Michael oder andere Kombination mit all diesen Wörtern dort zurückzugeben.
Wie zu sehen gibt nur Datensätze zurück, die noch alle Wörter im Namensfeld haben, aber unterschiedliche Reihenfolge haben können. Ich kann nicht herausfinden, wie man eine Abfrage für eine solche Anforderung schreiben, die ich habe. Bitte helfen Sie.
procedure Tfrm_Query.Button1Click(Sender: TObject);
var
mask : string;
begin
mask:='''%'+StringReplace(Edit1.text,' ','%',[rfReplaceAll, rfIgnoreCase])+'%''';
if Edit1.Text > '' then
begin
Adosorgulama.Close;
Adosorgulama.SQL.Clear;
Adosorgulama.SQL.Add('SELECT * FROM stok.product');
Adosorgulama.SQL.ADD('Where (P_Name like '+mask+') limit 50');
Adosorgulama.Open;
end;
end;
als Ergebnis;
edit1.text:='Jo Mich'; // Result Ok!
edit1.text:='Smi Jo Mic'; //No result
edit1.text:='Mich Sm'; // No result
Sie haben vergessen, alle Informationen, die das DBMS in Bezug auf die Sie verwenden, um die Komponenten Sie verwenden die Daten zuzugreifen, werden alle Informationen in Bezug auf Ihre Tabellenstruktur oder keine Informationen über die SQL-Anweisung Sie haben versucht zu erstellen. Kannst du [bearbeiten], um diese Details aufzunehmen? Vielen Dank. –