connection.execute + SQL Returncode

02/07/2009 - 15:46 von Josef Müller | Report spam
Hallo NG,

ich schreibe mit einem Script Sàtze in eine SQL Server 2005 Tabelle.

zb:
sql = "INSERT tblTest VALUES ('1', '2', '3')"
set rs = cnn.Execute(sql)

das klappt auch ganz gut.

Meine Frage:
gibt es eine Möglichkeit nach dem cnn.Execute in irgendeiner Form den SQL
ReturnCode abzufragen ?
Möchte in Folge ja gerne wissen, ob das Insert od. ein allfàlliges Update
auch ok. gegangen ist.

Bin für jeden Tipp sehr dankbar

lg
Josef
 

Lesen sie die antworten

#1 ekkehard.horner
02/07/2009 - 16:28 | Warnen spam
Josef Müller schrieb:
Hallo NG,

ich schreibe mit einem Script Sàtze in eine SQL Server 2005 Tabelle.

zb:
sql = "INSERT tblTest VALUES ('1', '2', '3')"
set rs = cnn.Execute(sql)

das klappt auch ganz gut.

Meine Frage:
gibt es eine Möglichkeit nach dem cnn.Execute in irgendeiner Form den SQL
ReturnCode abzufragen ?
Möchte in Folge ja gerne wissen, ob das Insert od. ein allfàlliges Update
auch ok. gegangen ist.


[...]

Ein INSERT erzeugt keine Ergebnismenge; deshalb sollte dir .Execute Methode
des Connection-Objekts als Sub aufgerufen werden (s.u.)

Solange man kein globales On Error Resume Next verbrochen hat, wird das
Skript bei jedem Fehler, also ggf. auch hier, terminieren. Da hat man
dann die Gelegenheit, durch entspechenden Code dafuer zu sorgen, dass
beim Einfuegen nie mehr ein Fehler auftreten kann.

Fuer den Fall, dass man das Skript nicht zuverlaessig bekommen kann,
laesst sich eine lokale Fehlerbehandlung etwa so programmieren:

Dim sSQL : sSQL = "INSERT tblTest VALUES ('1', '2', '3')"
Dim nErr, sErr
On Error Resume Next
cnn.Execute sSQL
nErr = Err.Number
sErr = Err.Description
On Error GoTo 0
If 0 <> nErr Then
WScript.Echo "Bingo!", nErr, sErr
' Aber was soll jetzt passieren?
Else
' So weit, so gut ...
End If

Ähnliche fragen