Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Sql-Sortieung - einzelne Datensätze

  Alt 29. Nov 2005, 16:22
Hallo Eddie,

Zitat von eddie11:
Das scheint mir zwar machbar aber recht komliziert, zumal ich mitunter Tabellen mit Schlüsseln habe, die aus mehr als zwei Feldern zusammengesetzt sind.
mein Lösungsvorschlag passt zu deiner Problembeschreibung. Wenn du aber sowieso durch die Gesamtdaten scrollen willst, dann besorge dir die sortierten Schlüssel als Grundlage in einer Query (SortedQuery), die du dann offen hältst:

SELECT KundenNummer FROM Kunden ORDER BY Suchbegriff, KundenNummer Durch die Beschränkung auf die KundenNummer im result set hält sich die übermittelte Datenmenge in Grenzen. Eine weitere Möglichkeit zur Reduzierung der Datenmenge bietet die CursorLocation clUseServer. Die Detailinfos holst du dann anhand des Schlüssels on demand aus der Datenbank:

SELECT * FROM Kunden WHERE KundenNummer = :kdnr Das mit den Parametern ist nicht sonderlich schwierig. Wenn du das Statement schon im Object Inspector der Eigenschaft SQL deiner Query (DetailsQuery) zuweist, dann wird es auf vorhandene Parameter (:param) untersucht. Die gefundenen Parameter werden bei "ParamCheck = TRUE" in die Parameterliste der Query eingetragen und du kannst ihnen dann vor dem Öffnen der Query Werte zuweisen:

Delphi-Quellcode:
begin
  with DetailsQuery do
  begin
    Close;
    Parameters.ParamValues['kdnr'] := SortedQuery.FieldValues['KundenNummer'];
    Open;
  end;
end;
Ohne den vollständigen Use Case ist eine optimale Beratung kaum möglich, aber vielleicht hilft dir mein Beitrag ja ein wenig auf deinem eigenen Weg zur fertigen Lösung.

marabu
  Mit Zitat antworten Zitat