Announcement

Collapse
No announcement yet.

sortierung in einem DataSet nach einem Insert beibehalten

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

  • sortierung in einem DataSet nach einem Insert beibehalten

    Hallo,
    die Daten in einem TDBGrid sollen nach Zeit sortiert angezeigt werden ('...order by zeit' -> typ TIMESTAMP)
    Am SelectSQL des DataSets hängt deshalb dieses '...order by zeit'.
    Nach einem Insert in diese Tabelle ist die sortierung hinüber.
    Wie kann man das im C++Builder (TDBGRid, TDataSource, TIBDataSet) erreichen, gibts da irgendwo eine Option?
    oder muss das SelectSQL des DataSets nach jedem Einfügen neu ausgeführt werden (wie?).

    mit de/aktivieren des DataSets scheint das zu gehen:
    [DataSet]->Active = false;
    [DataSet]->Active = true;
    Ist das dir richtige bzw. einzige Methode um das Problem zu lösen?

  • #2
    Da es nichts mit Firebird zu tun hat -> verschoben

    Wenn ich mich recht erinnere hat das Grid die Eigenschaft sort, die die Spalte enthält. Diese mal neu setzen mit einem

    + ' DESC'

    oder

    + ' ASC'

    als Zusatz
    Zuletzt editiert von Christian Marquardt; 03.06.2014, 09:41.
    Christian

    Comment


    • #3
      ein TDBGrid hat keine Sort-Methode. das ASC bzw. DSC ist er Zusatz zu einem SQL-Select: select * from bla order by zeit desc; wobei ASC default ist und weggelassen werden kann.
      und wohin verschoben? Gelöscht?

      Comment


      • #4
        und wohin verschoben? Gelöscht?
        Hierher -> Von Datenbanken/Firebird nach Andere Sprachen/C++

        Dann war die Erinnerung falsch...Vielleicht hat ja noch jemand anders den C++Builder in Betrieb....
        Zuletzt editiert von Christian Marquardt; 03.06.2014, 10:50.
        Christian

        Comment


        • #5
          Weiß nicht genau was mit "Die Sortierung ist hinüber" gemeint ist. Weil der neue eingetragene Datensatz nicht alphabetisch einsortiert wird sondern ganz unten angehängt wird? Um den mit einzusortieren muss man halt die Query schließen und wieder neu öffnen (oder Requery() aufrufen). Wenn du dann noch zum neuen Datensatz springen willst, musst du das über GotoBookmark lösen (kann ggf. sehr langsam sein bei großen Datenmengen).

          Comment

          Working...
          X