Discussion:
ClientDataSet und Umlaute in den Fields
(zu alt für eine Antwort)
Christian Schmitt
2018-04-23 16:46:04 UTC
Permalink
Hallo ihr lieben,

ich wollte mir gerade ein kleines Tool schreiben, das mit Hilfe von CDS ein paar Datensätze speichern soll. Jetzt bin ich über die Umlaute gestolpert: Ich habe aktuell 2 Felder definiert:

dsClientDataSet.FileName:='db.xml';
dsClientDataSet.FieldDefs.Clear;
dsClientDataSet.FieldDefs.Add('ID',ftAutoInc,0,true);
dsClientDataSet.FieldDefs.Add(Ansistring('Geräte-ID'),ftWideString,10,false);

Sobald ich jetzt allerings nach 'Geräte-ID' filtern möchte, mit

dsClientDataSet.Filter:=('Geräte-ID = '+QuotedStr('20'));
dsClientDataSet.Filtered:=true;

dann bekomme ich die Meldung "Das Feld Ger wurde nicht gefunden". Ich habe schon ftString als Feldtyp probiert und auch diverse Kombinationen mit UTF8Encode bzw. UTF8Decode, aber irgenwie will nichts so recht funktionieren. Habt Ihr eine Ahnung, wo das Problem liegt?

Danke!

Gruß
Christian Schmitt
2018-04-23 17:21:00 UTC
Permalink
Post by Christian Schmitt
Habt Ihr eine Ahnung, wo das Problem liegt?
Nach 2 Stunden rumprobieren habe ich es endlich gefunden: Ich muß Sonderzeichen wie Leerzeichen behandeln, sprich den Ausdruck in [] setzen

dsClientDataSet.Filter:=('[Geräte-ID] = '+QuotedStr('20'));

Kaum macht man es richtig und schon geht's :-)

Danke trotzedem!

Gruß

Loading...