AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Doppelte Zeilen mit FireDAC/TFDTable bei absteigender Sortierung im LDW Modus
Thema durchsuchen
Ansicht
Themen-Optionen

Doppelte Zeilen mit FireDAC/TFDTable bei absteigender Sortierung im LDW Modus

Ein Thema von cytrinox · begonnen am 7. Jan 2015
Antwort Antwort
cytrinox

Registriert seit: 4. Sep 2006
88 Beiträge
 
#1

Doppelte Zeilen mit FireDAC/TFDTable bei absteigender Sortierung im LDW Modus

  Alt 7. Jan 2015, 10:16
Datenbank: FB/MSSQL • Version: 2.5/2012 • Zugriff über: FireDAC
Hi,

ich habe mit den FireDACs ein recht merkwürdiges Problem. Ich habe eine Tabelle mit ein paar Beispieldaten, Hauptsache es gibt einen Primärschlüssel und eine varchar Spalte mit Inhalt.

Dann erstelle ich eine TFDConnection und eine TFDTable, setze TableName auf die Tabelle und setze IndexFields auf die Varchar Spalte. Ohne weitere Einstellungen arbeitet die TFDTable nun im LDW Modus (den ich brauche, weil sehr viele Daten in der Tabelle bzw. in dem Grid angezeigt werden müssen). Durch den LDW Modus sortiert TFDTable nicht selber, sondern macht das über die Datenbank.

Solange man eine aufsteigende Sortierung verwendet klappt das. Setzt man aber IndexFields auf
Code:
"MYFIELD:D"
oder setzt in den SortOptions soDescending auf true, erscheinen die Tabellenzeilen immer doppelt und dreifach im Grid, wenn man zusätzlich soUniqe angibt, wird auch eine Exception geworfen (Doppelte Zeilen).

Zuerst hab ich gedacht, das wär nur ein Problem mit dem Firebird-Treiber. Aber unter MS-SQL kann ich das nun genauso nachvollziehen. Getestet hab ich es mit XE5 und XE7.

Im Wiki steht sogar ausführlich drin, dass es zu doppelten Zeilen im LDW Modus kommen kann, wenn die Serversortierung anders sortiert als der Client. Nun hab ich mit der SortLocale Property experimentiert (0, 1024, 1031) und auch mal bei Firebird unterschiedliche Collations für die Spalte selbst festgelegt, aber es ändert sich nichts. Außerdem sind die Werte, die ich sortiere, nur einfache Teststrings wie z.B. "ATest", "ZTest" usw.

Auf github habe ich auch ein kleines Testprojekt für Firebird 2.5 erstellt falls das jemand benötigt (https://github.com/cytrinox/firedac-sort-issue).

Hat jemand eine Idee wie ich im LDW Modus dieses Problem beheben kann?
  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 15:17 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