Autor Beitrag
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Fr 29.08.03 14:57 
Hallo Leute,

ich habe eine Interbase 6.0 Tabelle. Diese Tabelle hat eine Spalte name. Nun möchte ich die ausgabe eines Selects nach dem namen ordnen (mittels ORDER BY Name) Das klappt auch - fast. ich habe allerdings auch Namen, wie Fanta und FIXX eingegeben und da taucht das problem auf.
Ich weiß nicht, warum FIXX vor Fanta ausgegeben wird?
Ich habe schon alle mögliche Zeichensätze ausprobiert, komme aber dennoch nicht weiter. Kann mir jemand helfen?

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Fr 29.08.03 15:25 
Weil das große "I" an der zweiten Stelle in "FIXX" höherwertig ist als das kleine "a"....

_________________
Ha! Es compiliert! Wir können ausliefern!
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Fr 29.08.03 17:29 
Hallo neojones,

das habe ich ja auch verstanden. Allerdings ist es im Explorer nicht so... Und genau so, wie im explorer erwarten die kunden das. Also, groß und kleinschreibung soll nicht bei der Ordenung ausschlaggebend sein.
Also, welcher ZEichensatz muss das dann sein?

Gruß
ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Fr 29.08.03 18:22 
Weiß ich nicht genau. Kannst Du das ORDER BY mit einem LOWER_CASE ausführen?

Dann hättest Du das Problem erst gar nicht.

_________________
Ha! Es compiliert! Wir können ausliefern!
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 29.08.03 19:07 
normalerweise verwendet man ISO8859_1.

_________________
Gruß
Hansa
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: So 31.08.03 16:48 
Hallo,

ich habe diesen ISO zeichensatz ausprobiert und bekomme auch dort die komische sortierung. Was muss ich denn noch beachten?

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 05.09.03 13:16 
ich wandele sowieso beim Suchen/Sortieren immer alles in Großbuchstaben um und Basta. Ich vergleiche also auf SQL-Seite mit UPPER und in Delphi den Suchbegriff mit UpCase. Und halt ISO8859_1. Klappt bisher alles.

_________________
Gruß
Hansa
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Sa 06.09.03 01:28 
Du sortierst also auch mit
select bla from tabelle
order by UPPER(bla)

???
das teste ich mal... Suchen macht bei mir keine Probleme, nur Sortieren ist halt irgendwie komisch...
Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Sa 06.09.03 11:01 
Ist das doch noch aktuell?

So kann man z.B. einen Artikel suchen:

ausblenden Delphi-Quelltext
1:
ArtDS.SelectSQL.Text := 'SELECT * FROM ART WHERE UPPER (BEZ) LIKE UPPER (''%' + LabeledEdit1.Text + '%'') ORDER BY NR';					


Hierbei kann ich nach "Zwetschgen" suchen. :shock: Selbst wenn ich nicht weiß, wie das geschrieben wird und gebe nur "sch" ein, wirds gefunden. Für Dein Problem dürfte allerdings das UPPER genügen. Also das % und LIKE braucht man für eine Sortierung nicht. Ich muß die Suche nun mal DAU-sicher machen. :mrgreen: Wie ich jetzt selber sehe mache ich das alles mit SQL.

_________________
Gruß
Hansa
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Sa 27.09.03 20:47 
Hallo,

das thema ist zwar schon ein bisserl älter, aber jetzt bin ich mal wieder dazu gekommen, mich drum zu kümmern.

@Hansa, du hast vorgeschlagen
ausblenden Quelltext
1:
2:
SELECT * FROM Artikel
  ORDER BY Upper(Name);

Ich habe das nun ausprobiert. -> Leider funktioniert das nicht.

Jetzt habe ich auch mal ne Datenbank mit dem Charset ISO8859_1 erstellt und einige Datensätze eingegeben. Dort ist das Problem noch extremer. Die Sortierung sortiert schon den ersten Buchstaben anders.
Postkarte kommt vor kantine. Aber Test kommt nach Postkarte... Also,

Postkarte
Test
kantine

Kann mir jemand helfen, damit die sortierung ordentlich durchgeführt wird?

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Sa 27.09.03 21:40 
hier ist vorab was mit der WHERE - Klausel:

tutorial.steelarrow....qltutorial/Where.aro

ausblenden Delphi-Quelltext
1:
WHERE UPPER (BEZ)					


Darauf kommt es an, ich sortiere also nur nach Großbuchstaben, zumindest aus Sicht der DB. Wie ich das dann letztendlich anzeige ist egal.

ausblenden Delphi-Quelltext
1:
ORDER BY UPPER...					

wird wohl nicht gehen. Siehe Link. Nötig ist es sowieso nicht.

_________________
Gruß
Hansa
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Sa 27.09.03 22:01 
Das Tutorial hier ist das was ich meinte, nicht das von vorher, das habe ich vorhin erst entdeckt (Verwechslung). Sieht aber auch gut aus.

www.w3schools.com/sql/

_________________
Gruß
Hansa
CenBells Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Sa 27.09.03 22:24 
So, jetzt habe ich den Hasen gefangen.

@Hansa: Also, ich meinte Sortierung. Du sprichst aber die ganze zeit von "Where". Das bezieht sich aber auf Suchen und Filtern. Darum geht es mir nicht.

Ich habe das problem jetzt behoben. Es liegt an der ausgabe der Selektierten datensätze. Dies lässt sich mittels Order By name Collate DE_DE; beeinflussen

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.