1
ich diese Abfrage in der Datenbank-Tool keine Probleme laufen kann:eine Auswahl in einer Update-Anweisung über ADO
UPDATE table1
SET NAME = 'John'
WHERE userid IN (SELECT Max(userid)
FROM table1
WHERE userid = NULL)
, die erfolgreich läuft. Wenn ich versuche, genau diese Anweisung von einem VBScript auszuführen, erhalte ich keine Fehler und die Aktualisierung findet nicht statt. Kann mir jemand sagen, was ich falsch mache?
Public Function GetAvailableRow()
Dim conn, command
On Error Resume Next
Set conn = CreateObject("adodb.connection")
Set command = CreateObject("adodb.command")
conn.IsolationLevel = 1048576
conn.Open "Driver={Adaptive Server Enterprise}; Server=myserver;port=myport; db=mydatabase;uid=userid;pwd=password;"
command.ActiveConnection = conn
command.CommandText = "UPDATE table1 SET name = 'John' WHERE userid in (SELECT MAX(userid) from table1 where userid = NULL)"
conn.BeginTrans
command.Execute
conn.CommitTrans
conn.Close
Set command = Nothing
Set conn = Nothing
End Function
Ich frage mich nur, wie OP sagen, die Abfrage auf db funktioniert ok an erster Stelle. –
Toller Fang! Ich habe nicht einmal darüber nachgedacht. Das hat es behoben. Vielen Dank! –
@JuanCarlosOropeza - Ich verspreche Ihnen, das funktioniert. Ich habe es dreimal in DBArtisan ausgeführt und es hat jedes Mal funktioniert. –