Announcement

Collapse
No announcement yet.

ADO Recordset,, Änderungen von Sort fixieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ADO Recordset,, Änderungen von Sort fixieren

    Hallo,<br>
    kennt jemand einen kurzen einfachen Weg, die Änderungen, die die Methode Sort an einem ADO Recordset bewirkt, physisch in das Recordset zu übertragen?<br>
    Normalerweise erstellt Sort Hilfsindizes und trägt die Sortierungen nicht direkt in das Recordset ein, so dass sich das Recordset nach dem Transport über COM wieder im Ausgangszustand befindet.<br>
    Vielen Dank und Grüsse<br>
    Hermann

  • #2
    Hallo,<br>
    einen Weg habe ich selbst gefunden:<br>
    <pre>

    var
    aStrm : _Stream;
    aRS : _Recordset;
    begin

    ...
    aRS füllen
    ...

    // einen Hilfsstream erzeugen
    aStrm := CoStream.Create;

    // Recordset sortieren
    aRS.Sort := 'Bezeichnung';

    // einmal in Stream wegschreiben (in aktueller Sortierung)
    aRS.Save(aStrm, adPersistADTG);
    // Schliessen
    aRS.Close;
    // Und gesichertes Recordset wieder einlesen
    aRS.Open(aStrm, EmptyParam, CursorTypeEnum(adOpenUnspecified), LockTypeEnum(adLockUnspecified), 0);
    // Das zurückgelesene Recordset ist jetzt physisch nach Bezeichnung sortiert
    </pre>
    Hat vielleicht jemand eine bessere Idee ?<br>
    Funktionieren tut es auf jeden Fall<br>
    (Übgrigens könnte man mit dieser Methode auch ganz gut ganze ADO-Recordsets kopieren.

    Comment

    Working...
    X