Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: row cannot be located for update... wenn eine View benutzt wird

  Alt 21. Jun 2022, 20:51

Wie kann ich den ein Grid an eine SP binden mit ADO?
An ein Grid würdest Du gar nicht binden, wenn dann das Dataset, an dem das Grid (Datasource) hängt.
Du könntest eine TADOQueury nehmen und ein Update Statement abschicken.
Das machst Du im BeforePost vom TDataset und danach brichst Du das Post ab (dataset.cancel oder Abort).
Die TADOQuery mit dem Update Statement kannst Du als reines Update machen oder eine SP aufrufen, die irgendwelche Logik abarbeitet, falls notwendig.
Das Updatestatemen (oder die SP) gehen natürlich nur auf den "echten" Tabellenteil "diesseits" des Union.

Der Mechanismus vermeidet an sich erstmal keine unlogischen Aufrufe (update auf Union Daten, die nicht aktualsierbar sind). Geschieht dies wirklich, -es ist ja offenbar nicht klar, wann- kann es aber in der SP alles abgefangen werden. Wenn die SP Logik in Zustände kommt, die nicht erwünscht sind, sollte ein Fehler geworfen werden und vielleicht ein Log mit Detailangaben geschrieben werden.
Gruß, Jo
  Mit Zitat antworten Zitat