Seite 1 von 1

DbSeek() Casesensitive

Verfasst: Di, 22. Aug 2023 9:15
von Manfred
Hi,
ich arbeite mit FOXCDX und suche mit Dbseek() einen Satz. So wie es aussieht, unterscheiden sich verschiedene Sätze nur durch Groß/Kleinschreibung und damit scheint in dem Fall wohl die DBE ein Problem zu haben. Sie unterscheidet wohl nicht zwischen Groß/Kleinschreibung. Hat jemand ein paar Ideen, wie man dem halbwegs vernünftig entgegenwirken kann?

Re: DbSeek() Casesensitive

Verfasst: Di, 22. Aug 2023 10:33
von Tom
Aus der Doku zur CDXDBE:

Also note that indexes on character expressions become case insensitive once a collation table is selected for the CDXDBE.

Wenn Du das nicht willst, kannst Du z.B. auch einen Index mit den Hex-Werten der Zeichenfolgen erstellen. Aber damit kämen dann ganz andere Probleme.

Re: DbSeek() Casesensitive

Verfasst: Di, 22. Aug 2023 10:35
von Manfred
das ist mir ja bekannt, deshalb ja meine Frage, wie man sowas umgehen könnte.
Ich habe aber schon was gefunden. ich mache einen hashwert daraus und speicher den und suche dann darauf. Das scheint zu klappen.

PS: Du warst etwas schneller als ich. Welche Probleme meinst Du?

Re: DbSeek() Casesensitive

Verfasst: Di, 22. Aug 2023 10:39
von Tom
Welche Probleme meinst Du?
Bezüglich der Sortierung. Wenn Du einen Index mit StrToHex() erzeugst, entsteht eine Sortierung, die sich alphanumerisch an den entstandenen Werten orientiert. Das muss nicht in allen Fällen der alphabetischen Sortierung nach Zeichenfolgen gleichen.

Re: DbSeek() Casesensitive

Verfasst: Di, 22. Aug 2023 10:42
von Manfred
ach so, Du meinst wenn ich danach sortiert was anzeigen will. Ok. Das kommt aber hier nicht zur Anwendung, ich brauche den dann nur zur identifizierung.