Saludos a todos.
Por favor, ¿hay alguien que maneje transacciones SQL interrogando una base de datos DB2 de un AS/400?.
Tengo una aplicación que accede a una BD de este tipo y funciona correctamente, pero cuando hago una Query tipo INSERT o UPDATE no sé cómo recuperar en la script de Autoit el Código de retorno que da la transacción.
Es decir, si la creación del nuevo registro o la modificación de uno ya existente se ha realizado correctamente.
Si alguien puede ayudarme, le estaría muy agradecido.
Autoit - SQL en DB2
Re: Autoit - SQL en DB2
Este es un ejemplo de lo que pregunto...
En este ejemplo cuando después de ejecutar la consulta interrogo preguntando por el estado de: $SQLRS.State o $SQLRS.Status la Script falla.
Código: Seleccionar todo
; ODBC error control
$oErrorHandler = ObjEvent("AutoIt.Error", "objError")
; TABLE CONNECTION
$SQLCON=ObjCreate("ADODB.Connection")
If @error Then $SQLCON.Close
$SQLCON.Mode= 16 ;Shared
$SQLCON.CursorLocation=2 ;Client Side cursor
$SQLCON.ConnectionTimeout=10
$SQLCON.Open ("DSN=XXX.XXX.XXX.XXX;UID='Usuario';PWD='contraseña';)
If @error Then
MsgBox(16,"Test","Fail conexion.")
$SQLCON.Close
Exit
EndIf
; UPDATE TEST
$SQLRS = ObjCreate("ADODB.Recordset") ; SQL RECORDSET
If Not @error Then
$SQLRS.Open("update MY_TABLE set COLUMN2='modificado' where COLUMN2='dato inicial' ",$SQLCON)
EndIf
MsgBox(48,"Return Code","State: "&$SQLRS.State&@CRLF&"Status: "&$SQLRS.Status)
$SQLCON.Close
Exit
Func objError($oError)
$T ="Num.Error : " & $oError.number & @CRLF
$T&="Description : " & $oError.windescription & @CRLF & @CRLF
$T&=$oError.description & @CRLF & @CRLF & @CRLF
$T&="Helpfile : " & $oError.helpfile & @CRLF
$T&="helpcontext : " & $oError.helpcontext & @CRLF
$T&="lastDLLerror: " & $oError.lastdllerror & @CRLF & @CRLF& @CRLF
$T&="Script Line: " & $oError.scriptline & @CRLF
$T&="Ret.Code : " & $oError.retcode
MsgBox(48,"Error Rutine",$T)
EndFunc