Auch wenn Du das Problem gelöst hast, solltest Du verstehen, wie
ADO die Rückgaben vom
SQL-Server interpretiert (weist Du ja vielleicht sogar schon).
Jedes Select erzeugt mindestens eine Meldung 'xy Rows affected', selbt bei einem "SELECT @foo = 1".
ADO interpretierte diese Meldung nach einem INSERT/UPDATE/DELETE, ob die Operation überhaupt funktioniert hat. Deshalb sollte man IMMER in Triggern als erste Zeile ein 'Set nocount on' machen, damit nämlich die o.g. Meldung unterdrückt wird.
Nun ist die Welt in Ordnung:
ADO macht z.B. ein INSERT (eine Zeile) und wartet auf die Meldung '1 rows affected'. Wenn das kommt, ist
ADO zufrieden.
Wenn Du also INSERT-Trigger hast, gleich erstmal in 'set nocount on', 'set nocount off' klammern. Danach wird die
ADO-Fehlermeldung vermutlich anders aussehen, vielleicht siehst Du dann sogar die richtige Fehlermeldung. Auf jeden Fall ist die Welt dann in Ordnung.
Ganz fies wird es bei 'updatable Views', bei denen das automatische Update/Insert/Delete durch einen 'Instead of'-Trigger ausgeschaltet ist ('CREATE TRIGGER foobar ON MyView INSTEAD OF INSERT...') Dann MUSST Du die o.g. Meldung irgendwie erzeugen, damit
ADO weiss, das die Operation funktioniert hat.