AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Umlaute anzeigen egal ob Ü oder UE usw.
Thema durchsuchen
Ansicht
Themen-Optionen

Umlaute anzeigen egal ob Ü oder UE usw.

Ein Thema von SKolberg · begonnen am 30. Sep 2005 · letzter Beitrag vom 12. Okt 2005
 
jensw_2000
(Gast)

n/a Beiträge
 
#24

Re: Umlaute anzeigen egal ob Ü oder UE usw.

  Alt 30. Sep 2005, 12:12
Nimm doch einfach Jellys Vorschlag und erstelle dir in deiner MySQL DB eine UDF (Userdefined Function).

Der (my)SQL Server erledigt die Zeichenersetzung flink während des Selects mit. Einfacher gehts doch garnicht. Zudem erschlägt man alle Sonderfälle auf einmal (Groß-Kleinschreibung, Umlaute,'ß'-'ss') und braucht nicht hunterdt IF's und POS(bla) im Delphi-Code verbauen.

Hier ein Beispiel in MSSQL Syntax.
Den Code kannst du mit einem kurzen Blick ins MySQL-Handbuch innerhalb weniger Minuten für MySQL anpassen.

SQL-Code:
CREATE Function ReplaceSpecialChars
  @InputParam VARCHAR(4000) -- ein Eingabeparameter an den du deinen Suchbegriff übergibst
  RETURNS VarChar(4000) -- Die Funktion liefert Varchar zurück
AS
BEGIN
  DECLARE @TMP VARCHAR(4000) -- eine Temporäre Variable deklarieren
  SET @TMP = LOWER(@InputParam) -- Suchbegriff als LowerCase in @TMP einlesen
  SET @TMP = REPLACE(@TMP,'ß','ss') -- gewünschte Zeichen ersetzen
  SET @TMP = REPLACE(@TMP,'ä','ae')
  SET @TMP = REPLACE(@TMP,'ö','oe')
  SET @TMP = REPLACE(@TMP,'ü','ue')

  RETURN @TMP -- die fertige Zeichenkette aus Result zurückgeben
END

Verwendung :

SQL-Code:
  
SELECT Vorname,Nachname FROM Personal WHERE dbo.ReplaceSpecialChars(Nachname) = LOWER(@Suchbegriff)

Falls du die Funktion sehr häufig für ein und die selben Feler bestimmter Tabellen benutzt, kannst du in der Tabelle auch flink für jedes (häufig zum suchen verwendete) Feld ein berechnetes Feld hinzufügen. Als Formel für das berechnete Feld nimmst du in diesem Fall auch "dbo.ReplaceSpecialChars(<Feldname>)".


Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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