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.