Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

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

Re: Die zum Aktualisieren angegebene Zeile wurde nicht gefun

  Alt 23. Sep 2006, 18:35
Hi marabu,

Hier eine Demo mit Schema-Datei für MSSQL. Die Datenbank enthält eine Tabelle mit einem Trigger, der ein "0 rows affected erzeugt". Desweiteren eine "updateable View", die im "INSTEAD OF"-Trigger den gleichen Müll erzeugt. Trotzdem funktioniert das INSERT in beiden Fällen.

Das Demo-Projekt enhält nur zwei Buttons, zwei TADOTable und eine ADO-Connection. Button#1 versucht, in die Table etwas einzufügen, Button#2 versucht, in die View etwas einzufügen.

Das klappt nicht, bis man in den Triggern das "SET NOCOUNT ON" am Anfang einfügt. Bei der updateable View muss man zudem noch darauf achten, das der INSTEAD-OFF Trigger wirklich genau diese "x row(s) affected erzeugt", indem man nämlich irgendwo genau die Anzahl von Records einfügt, die verlangt sind.

ADO ist da -wie schon erwähnt- sehr pingelig.

Um den 3.Fall zu erzeugen, müsste man im Trigger nur einen der Felder nicht bzw. anders updaten und schon ballert die ADO diese Fehlermeldung raus.
Angehängte Dateien
Dateityp: zip ado-macke-demo-mit-db-schema_800.zip (2,5 KB, 43x aufgerufen)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat