Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

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

Re: SQL Trigger - TADOTable Löschfehler

  Alt 12. Okt 2005, 20:39
Jaaaaa, gemeine Sache, wie?

ADO erwartet als Antwort vom SQL-Server beim Löschen einer Zeile ein '1 Row(s) affected'. Wenn da etwas anderes steht, z.B. '0 Row(s) affected' oder so, dann interpretiert dieses oberschlaue ADO das eben so, das das DELETE nicht geklappt hat. Blödes ADO.

Du musst im Trigger mit 'SET NOCOUNT ON' dafür sorgen, das keine dieser Meldungen (ausser der richtigen!) gliefert wird.
SET NOCOUNT ON unterdrückt die Ausgabe der Meldungen, SET NOCOUNT schaltet sie wieder an.

Gewöhn dir an, alle stored procedures und Trigger mit SET NOCOUNT ON einzuleiten. Das erspaart einem ne ganze Menge Ärger.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat