ADO kann mit mehreren Resultsets arbeiten. Jedes 'X rows affected' erzeugt ein eigenes Resultset. Du kannst mit 'NextResultset' auf
ADO-Seite durch alle Resultsets durchiterieren. Das Errors-Objekt der Connection korrespondiert mit den einzelnen Resultsets.
Bei den RAISERROR-Exceptions gibt es einen riesen Bug, der einfach nicht behoben wird:
Wenn in einer Transaktion NACH der ersten Änderung (INSERT, UPDATE, DELETE) eine
Exception per RAISEERROR ausgelöst wird, bekommt die
ADO-Komponente das nicht mit (es wird keine
Exception ausgelöst, die mit Try..Except abzufangen wäre). Da führt kein Weg dran vorbei! Eigentlich peinlich, eine solche existentielle Geschichte nicht mal zu reparieren, aber MS hat wohl kein Bock.