Announcement

Collapse
No announcement yet.

Bearbeiten von SQL-sortierten tabellen

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

  • Bearbeiten von SQL-sortierten tabellen

    ich habe die folgende verkettung:

    table - datasource1 - query - datasource2 - dbgrid

    ich möchte meine datenbank voll über das grid steuern, das klappt soweit ganz gut...

    doch dann möchte ich die datensätze per click auf den spaltentitel sortieren: bei der ontitleclick methode des grids schreibe ich zur laufzeit
    die entsprechende sortieranfrage und erhalte eine sortierte tabelle.

    problem: editiren eines datensatzes führt jetzt zum chaos...
    das grid ändert die tabelle an der stelle an der sich der cursor befindet; dort befindet sich jedoch ein anderer datensatz als jetzt(sortiert) auf dem bildschirm angezeigt wird (da eine sql abfrage ja nicht die tabelle umstrukturiert sonder eine virtuelle tabelle erstellt)

    wie kann ich dieses problem umgehen ?

    thx im voraus

  • #2
    Hallo,

    >wie kann ich dieses problem umgehen ?

    wenn die anzuzeigende Ergebnismenge über eine SELECT-Abfrage zusammengestellt wird, ist für das Zurückspielen der Änderung ebenfalls eine separate UPDATE-Anweisung zuständig, die als WHERE-Kriterium den im TDBGrid ausgewählten Primärschlüsselwert der Tabelle nutzt. In diesem Fall spielt es überhaupt keine Rolle, wo und wie die Datensätze sortiert werden. DAs TDBGrid hängt über die TDataSource-Komponente an der TQuery, und dort kann über die Fields-Kollektion direkt der jeweils gültige Primärschlüsselwert dieses Datensatzes entnommen werden, damit die UPDATE-Anweisung den "richtigen" Datensatz erwischt

    Comment

    Working...
    X