Einzelnen Beitrag anzeigen

Maliko

Registriert seit: 20. Jun 2019
91 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Order By stimmt nicht im ClientDataSet

  Alt 21. Jun 2021, 10:56
Es lag scheinbar wirklich am Index des ClientDataSet. Das Problem konnte ich beheben, indem ich das ClientDataSet durch ein OracleDataSet ersetzt habe.

Nun habe ich ein ähnliches Ergebnis. Leider kommt es diesmal aufgrund der Architektur der Unit nicht in Frage das ClientDataSet auszutauschen. Und wieder habe ich das Problem, dass die Sortierung im ClientDataSet eine andere ist als in der Datenbank. Wenn ich das Query im SQL-Developer ausführe, dann steht ein bestimmter Datensatz an Position 3202. Im ClientDataSet steht dieser allerdings an Position 3204.

Das ClientDataSet hat lediglich einen Index, nämlich den PRIMARY_KEY Index, welcher nach der Standartsortierung sortiert. In der Datenbank ist das folgender ORDER BY:

Code:
order by a.kundennummer, a.vorgang, a.unterkonto, a.version
Er soll allerdings über eine Option im Programm nach folgendem Order by sortieren:

Code:
order by to_number(regexp_substr(sammelreferenz, '^[[:digit:]]*')), sammelreferenz, to_number(a.kundennummer), referenz
Ich vermute dass das irgendwas mit den Indizes des ClientDataSets zu tun hat. Kann mir da jemand nen Tipp geben, wie ich endweder das Order by in einen Index umgewandelt bekomme, oder wie ich dem ClientDataSet sage, dass es die Finger von der Sortierung lassen soll?
  Mit Zitat antworten Zitat