Einzelnen Beitrag anzeigen

urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#4

Re: 2. POST innerhalb des selben Datensatzes bringt Fehlerme

  Alt 13. Dez 2004, 10:48
Hallo Manfred,

genau kann ich es nicht erklären, aber es hat auf jeden Fall damit zu tun, dass Dir ein SQL-Server im Gegensatz zu einer Desktop-DB (wie Paradox, dBase, Access...) keine echten, also physischen Tabellen liefert, sondern eine Ergebnismenge.
Selbst wenn Du eine Komponente hättest, die sich wie eine Tabelle benimmt, ruft diese intern die DAten doch über eine SELECT-Abfrage ab.
Der SErver stellt nun auf Deine Anfrage hin eine Ergebnismenge zusammen und hält die so lange vor, wie die Transaktion aktiv ist.
Wenn Du nun etwas an den Daten änderst, wird das in den Tabellen in der DB eingetragen; die Ergebnismenge weiß aber noch nichts davon. Deshalb müssen die Daten neu eingelesen werden. Ich glaube, es gibt ausgefeilte Komponenten, die tatsächlich nur den geänderten Datensatz neu einlesen, was natürlich wesentlich schneller ist als eine komplette DAtenmenge mit Tausenden Datensätzen neu einzulesen..
Ihc denke, Dein Requery entspricht meinem Vorschlag, die Query zu schließen und wieder zu öffnen (wie gesagt, ich kenne mich mit ADO nicht aus).


Eine Alternative wäre evtl. mit CachedUpdates zu arbeiten. Dann werden alle Änderungen in einer lokalen Kopie beim Client gemacht und am Schluss auf einmal in die DB geschrieben.

MfG
Urs
  Mit Zitat antworten Zitat