AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi (Deutsche) Sortierung in Firebird
Thema durchsuchen
Ansicht
Themen-Optionen

(Deutsche) Sortierung in Firebird

Ein Thema von TheMiller · begonnen am 27. Okt 2010 · letzter Beitrag vom 1. Nov 2010
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

(Deutsche) Sortierung in Firebird

  Alt 27. Okt 2010, 14:16
Datenbank: Firebird Embedded • Version: 2.1 • Zugriff über: ZEOS
Hallo,

also manchmal wünsche ich mir, ich hätte ich mir MySQLLite entschieden. Aber gut, jetzt ist Firebird im Einsatz und ich muss mich damit abfinden...

Mein Problem ist folgendes. Ich würde gerne (wie in einem andern Thread schon angesprochen), Einträge in einer TreeView anzeigen - und zwar alphabetisch sortiert.

Füge ich in dem SQL-Statement ein simples "ORDER BY titel ASC" ein, funktioniert das nur bedingt. Er sortiert zwar, hängt aber alle Einträge, die mit Umlauten beginnen, hinter "Z". Mit Umlauten mitten im Text wird es genauso sein.

Hier meine Felddefinition:

Tabelle "ordner"
titel = VarChar(100)
collate = utf8
charset = utf8

Ich hoffe, ihr könnt mir helfen. Ich habe in Google geschaut. Die einzige "Lösung", die ich gefunden habe ist folgendes
".. ORDER BY titel COLLATE DE_DE ASC" zu schreiben. Aber das klappt bei utf8 wohl nicht.

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

AW: (Deutsche) Sortierung in Firebird

  Alt 27. Okt 2010, 16:12
Das Einfachste wäre imho, das du das Feld, wo die Umlaute drin sind als "ISO_8859_1 collation de_de" definierst. Da brauchst du es nicht bei jedem Statement angeben.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

AW: (Deutsche) Sortierung in Firebird

  Alt 28. Okt 2010, 15:17
Hallo,

vor der Umstellung habe ich ein wenig Angst. Hatte Probleme, alles auf UTF-8 umzustellen. Jetzt läuft alles (die ganze DB ist UTF-8) und habe Angst vor eventuellen Fehlern.

Eigentlich war es dämlich, dass ich UTF-8 gewählt habe. Meine Software wird ausschließlich mit deutschen Schriftzeichen gefüllt. Naja - sau dumm.

Jedenfalls wollte ich es mit einer Test-Kopie probieren und da sagt er mir beim Umstellen

Zitat:
SQL Error: unsuccessful metadata update [TABELLE] CHARACTER SET ISO8859_1 is not installed. Error Code -607. This operation is not defined for system tables.
Den letzten Teil der Meldung verstehe ich nicht. Meine Tabelle ist doch keine Systemtabelle...

Könnt ihr mir grad nochmal helfen?

Danke
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: (Deutsche) Sortierung in Firebird

  Alt 28. Okt 2010, 15:57
Das Updaten von MetaDaten geschieht aber in den SysTables
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: (Deutsche) Sortierung in Firebird

  Alt 28. Okt 2010, 16:20
Hallo,

nimm doch mal IBExpert,
der zeigt dir das darunterliegende SQL-Statement an.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#6

AW: (Deutsche) Sortierung in Firebird

  Alt 28. Okt 2010, 16:42
Hi,

das Statement sieht wie folgt aus (Firebird Maestro 7)

[SQL]
/* Modify charset for (RDB$36) */
UPDATE RDB$FIELDS
SET RDB$CHARACTER_SET_ID = 21
WHERE RDB$FIELD_NAME = 'RDB$36';

UPDATE RDB$RELATION_FIELDS
SET RDB$COLLATION_ID = 6
WHERE (RDB$FIELD_NAME = 'TITEL') AND
(RDB$RELATION_NAME = '[TABELLENNAMEN]');
[/SQL]
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#7

AW: (Deutsche) Sortierung in Firebird

  Alt 29. Okt 2010, 13:56
Hm, hab nochmal über einen anderen Post nachgedacht. Welchen Nachteil/Vorteil bringt es, wenn ich nicht die DB, sondern die GUI (TreeView) die Einträge sortieren lasse?

Werde ich dadurch Geschwindigkeitseinbußen haben, oder nimmt sich das nicht viel?
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#8

AW: (Deutsche) Sortierung in Firebird

  Alt 30. Okt 2010, 16:30
Ein Vorteil der GUI-Variante wäre, das der Nutzer bei Bedarf die Sortierung ändern könnte.
[Ironie]Und wer ist wichtiger als der Nutzer?[/Ironie]
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#9

AW: (Deutsche) Sortierung in Firebird

  Alt 1. Nov 2010, 23:40
Hallo.

Wollte mal eine Rückmeldung geben. Ich habe die GUI sortieren lassen. Den entsprechenden Code habe ich auch hier im Forum gefunden...

Vielen Dank
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz