Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL Custom Sort (https://www.delphipraxis.net/155005-sql-custom-sort.html)

DeddyH 10. Okt 2010 11:23

AW: SQL Custom Sort
 
Kann ich nicht nachvollziehen, bei mir stimmt die Reihenfolge sowohl auf- wie auch absteigend.

-187- 10. Okt 2010 11:47

AW: SQL Custom Sort
 
Hm scheinbar liegt das Problem wo anders. Habe es mal mit einem Test Programm nachgebaut und das funktioniert es wie gewünscht.

DeddyH 10. Okt 2010 11:57

AW: SQL Custom Sort
 
Bist Du denn sicher, dass Dein SQL in jedem Fall richtig ist? Das besagte Feld ist ja immerhin ein Sonderfall, den es in der ORDER BY-Klausel zu berücksichtigen gilt.

-187- 10. Okt 2010 12:11

AW: SQL Custom Sort
 
Liste der Anhänge anzeigen (Anzahl: 1)
Okay es klappt doch noch nicht. Hier nochmal mein aktueller Code:

Code:
  IBQuery1.SQL.Text:=
  'SELECT FIELD1, FIELD2 from MYTABLE ORDER BY CAST(LPAD(' + SortColumn + ',50, ''0'') AS VARCHAR(50))' + SortOrder;
SortOrder ist halt ASC oder DESC je nach dem...

SortColumn ist die angewählte Spalte...

Habe nochmal ein Bild angehängt, Die Linke Spalte ist korrekt sortiert. Die Rechte Spalte ist nur im grünen Berech korrekt sortiert. Beide Spalten wurde mit dem selben Code sortiert!

http://img222.imageshack.us/img222/5115/blazm.png

DeddyH 10. Okt 2010 12:17

AW: SQL Custom Sort
 
Du kannst Bilder auch an Deinen Beitrag anhängen, dann bleiben Sie uns auch später noch erhalten. Und nun erklär uns einmal, wie die Spalten definiert sind und welche im jeweiligen Screenshot ausgewählt wurden. Du sortierst ja jede ausgewählte Spalte als VARCHAR(50), ist das wirklich nötig?

Sir Rufo 10. Okt 2010 12:21

AW: SQL Custom Sort
 
Code:
ORDER BY CAST(LPAD( TRIM( ' + SortColumn + ') ,50, ''0'') AS VARCHAR(50))'
Versuch das mal, vielleicht sind irgendwo Leerzeichen enthalten

mkinzler 10. Okt 2010 12:21

AW: SQL Custom Sort
 
Zitat:

Zitat von DeddyH (Beitrag 1054811)
Du kannst Bilder auch an Deinen Beitrag anhängen, dann bleiben Sie uns auch später noch erhalten. Und nun erklär uns einmal, wie die Spalten definiert sind und welche im jeweiligen Screenshot ausgewählt wurden. Du sortierst ja jede ausgewählte Spalte als VARCHAR(50), ist das wirklich nötig?

Habe Bild nun angehängt

DeddyH 10. Okt 2010 12:29

AW: SQL Custom Sort
 
Danke Markus. *Idee*: Stellen die Screenshots etwa unterschiedliche Spalten derselben sortierten Ergebnismenge dar? Dann wäre das Ergebnis ja klar, da ja nur nach einem einzigen Feld sortiert wird, Du müsstest in dem Fall eine Untersortierung definieren.

-187- 10. Okt 2010 12:32

AW: SQL Custom Sort
 
Meine Spalten sind so definiert:

Code:
IBTable1.FieldDefs.Add('FIELD1', ftString, 50, false);
IBTable1.FieldDefs.Add('FIELD2', ftString, 50, false);

@ SirRufo, wofür sind die Sterne (*) ? SortColumn ist ne Variable vom Typ String also an dieser Stelle dürfen keinen Sterne sein^

Habe die Sterne mal weggelassen, das ändert jedoch nichts.

Edit: Die Spalten stellen 2 unterschiedliche Felder dar.

DeddyH 10. Okt 2010 12:36

AW: SQL Custom Sort
 
Unterschiedliche Felder aus unterschiedlichen Abfragen?

nachti1505 10. Okt 2010 12:38

AW: SQL Custom Sort
 
In deinem Screenshot sind es aber schon zwei Abfragen? Oder nur eine???

Sir Rufo 10. Okt 2010 12:38

AW: SQL Custom Sort
 
Die Sterne hat mein iPad eigenmächtig da reingemogelt beim Kopieren

DeddyH 10. Okt 2010 12:39

AW: SQL Custom Sort
 
Das versuche ich ja die ganze Zeit zu erfahren ;)

DeddyH 10. Okt 2010 12:45

AW: SQL Custom Sort
 
Zitat:

Zitat von nachti1505 (Beitrag 1054831)
In deinem Screenshot sind es aber schon zwei Abfragen? Oder nur eine???

Das versuche ich ja die ganze Zeit zu erfahren ;)

[edit] Hö? Ich hatte doch editiert, wo kommt dieser Beitrag denn jetzt her? [/edit]

-187- 10. Okt 2010 12:47

AW: SQL Custom Sort
 
Es sind unterschiedliche Abfrage !!

Klicke ich auf Spalte 1 wird FELD1 in Spalte1 sortiert dargestellt.
Klicke ich auf Spalte 2 wird FELD2 in Spalte2 sortiert dargestellt.

DeddyH 10. Okt 2010 12:54

AW: SQL Custom Sort
 
Wird denn das korrekte Statement ausgeführt? Hast Du das einmal mit einem Admin-Tool überprüft (IBExpert z.B.)?

-187- 10. Okt 2010 13:01

AW: SQL Custom Sort
 
Uff ne damit hab ich noch nicht gearbeitet aber ich habe jetzt nochmal was anderes getestet. Wenn ich die Werte manuell in die DB einfüge dann klappt das sortieren. Wenn ich aber die Werte aus meiner Funktion einfüge dann klappt es nicht. Also die Ursache ist nicht der SQL Part ich werd mich mal auf die Suche machen. Vielleicht sind ja wirklich irgendwelchen Steuerzeichen oder so in dem String die man so nicht sieht.

Sir Rufo 10. Okt 2010 13:07

AW: SQL Custom Sort
 
Sehr seltsam, du programmierst eine DB-Anwendung hast aber noch nicht mit einem DB-Admin-Tool gearbeitet?

nachti1505 10. Okt 2010 13:10

AW: SQL Custom Sort
 
Warum sollte er auch? Bevor ich IBExpert (c't Version) kennenlernen durfte, hatte ich auch nie ein AdminTool zur Hand... Mein Gott, was waren das für harte Zeiten...!

mkinzler 10. Okt 2010 13:11

AW: SQL Custom Sort
 
Zitat:

Zitat von Sir Rufo (Beitrag 1054843)
Sehr seltsam, du programmierst eine DB-Anwendung hast aber noch nicht mit einem DB-Admin-Tool gearbeitet?

Das wäre dann auch zu einfach ...

Sir Rufo 10. Okt 2010 13:12

AW: SQL Custom Sort
 
Es geht, aber eigentlich nicht wirklich

Man befindet sich ständig im Blindflug

mkinzler 10. Okt 2010 13:15

AW: SQL Custom Sort
 
Ich würde mir das auch nicht antun.

-187- 10. Okt 2010 13:26

AW: SQL Custom Sort
 
Hm bisher wusste ich nicht das es das gibt und wofür es mir dienlich sein könnte. Werde mir es wohl mal angucken jedoch ist meine Anwendung jetzt eigentlich fertig :D

Das Problem war das sich ein Linefeed eingeschlichen hat. Hab den jetzt replaced und es läuft.

Ich danke euch allen mal wieder :) :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:06 Uhr.
Seite 2 von 2     12   

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