SQL-Befehl DELETE i.V. mit Rückgabewert DatabaseQuery
Verfasst: 01.10.2009 09:46
Hallo Zusammen!
Ich habe da eine Kleinigkeit beim DELETE auf eine Datenbank (in meinem Fall Oracle).
Wende ich den DELETE-Befehl in einem SQL-Tool (z.B. SqlPlus) bei Oracle an, erhalte ich immer die Anzahl der gelöschten Datensätze (bzw. 0 falls nichts gelöscht werden konnte) mitgeteilt.
Hier reagiert PB bzw. der ODBC-Treiber anderster. Die Anzahl der Datensätze werden nicht zurück gegeben.
Sofern Datensätze gelöscht werden konnten, gibt der Befehl DatabaseQuery bzw. DatabaseUpdate lediglich einen Wert ungleich 0 zurück (= kein Fehler aufgetreten). Wird kein Datensatz gelöscht, so geben die beiden Befehle den Wert 0 (= Fehler) zurück. Es handelt sich hierbei um keinen Fehler. Beim Befehl DatabaseError() wird keine Meldung zurück gegeben. Erst in Kombination wird eindeutig klar, daß kein Fehler aufgetreten ist und lediglich kein Datensatz gelöscht wurde.
Habt Ihr damit Erfahrung? Wie löst Ihr das?
Gibt es die Möglichkeit die Anzahl der gelöschten Datensätze zu ermitteln?
Grüße
Ralf
Ich habe da eine Kleinigkeit beim DELETE auf eine Datenbank (in meinem Fall Oracle).
Wende ich den DELETE-Befehl in einem SQL-Tool (z.B. SqlPlus) bei Oracle an, erhalte ich immer die Anzahl der gelöschten Datensätze (bzw. 0 falls nichts gelöscht werden konnte) mitgeteilt.
Hier reagiert PB bzw. der ODBC-Treiber anderster. Die Anzahl der Datensätze werden nicht zurück gegeben.
Sofern Datensätze gelöscht werden konnten, gibt der Befehl DatabaseQuery bzw. DatabaseUpdate lediglich einen Wert ungleich 0 zurück (= kein Fehler aufgetreten). Wird kein Datensatz gelöscht, so geben die beiden Befehle den Wert 0 (= Fehler) zurück. Es handelt sich hierbei um keinen Fehler. Beim Befehl DatabaseError() wird keine Meldung zurück gegeben. Erst in Kombination wird eindeutig klar, daß kein Fehler aufgetreten ist und lediglich kein Datensatz gelöscht wurde.
Habt Ihr damit Erfahrung? Wie löst Ihr das?
Gibt es die Möglichkeit die Anzahl der gelöschten Datensätze zu ermitteln?
Grüße
Ralf