Autoit - SQL en DB2

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
AMFC
Mensajes: 7
Registrado: 04 Feb 2014, 21:30

Autoit - SQL en DB2

Mensaje por AMFC »

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.
AMFC
Mensajes: 7
Registrado: 04 Feb 2014, 21:30

Re: Autoit - SQL en DB2

Mensaje por AMFC »

Este es un ejemplo de lo que pregunto...

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
En este ejemplo cuando después de ejecutar la consulta interrogo preguntando por el estado de: $SQLRS.State o $SQLRS.Status la Script falla.
Responder