Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Berechnetes Feld per Code bei nicht persistenter Feldlis

  Alt 14. Jun 2007, 10:38
Ach Gott, ja....

Ich verwende ein MemDataset. Dort kopiere ich die Daten vom Server rein (Die Tabelle). Dann kann ich ändern, wie ich lustig bin (die Tabelle hat noch eine weitere Spalte 'Modified'). Beim Klick auf 'OK' werden die geänderten (Feld 'Modified'= True) Zeilen per handgebissenem SQL-INSERT wieder zurück geschrieben.

Das ließe sich mit einem TClientDataset auch machen.

Wie greifst Du drauf zu? Mit ADO? Da kann man den LockType of 'ltBatchOptimistic' setzen, dann ist das soetwas wie 'Cached updates' bei der alten BDE-Krücke. Auf jeden Fall werden die Änderungen nicht sofort zurückgeschrieben. Das erledigst Du mit 'ApplyUpdates'. Dann hättest du wieder das gleiche Problem, aber Du kannst dann selbst durch die Tabelle laufen und die Änderungen wie oben beschrieben (handgebissenes INSERT-Statement ) zurückschreiben.

Mittlerweile tendiere ich (außer bei 08/15-Tabellen) sowieso zu dieser (Memdata)Lösung, weil man einfach flexibler ist. Und schneller ist es auch.

Welche DB verwendest Du? Bei MSSQL gibt es 'Updateable Views'. Die kann man mit einem 'INSTEAD OF' Trigger versehen und dann überlistet man quasi ADO/BDE oder wen auch immer.


Hi daddy, guter Vorschlag.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat