Página 1 de 1

TMySQLDataSource, como ejecutar procedimiento almacenados

Publicado: Mar Sep 08, 2009 9:29 pm
por Rodolfo
Necesito ejecutar procedimientos almacenados de MySQL.
En MySql, ya los hago y ya los ejecuto y si funcionan, pero no he podido
hacer que se ejecuten desde Xailer.
¿Como se hace?
Gracias...

TMySQLDataSource, como ejecutar procedimiento almacenados

Publicado: Mar Sep 08, 2009 9:54 pm
por Manu
:Execute( "CALL TuProcedure( param1, param2, ... ) )
Deberí­a funcionar así­ :-)
Rodolfo escribió:
> Necesito ejecutar procedimientos almacenados de MySQL.
>
> En MySql, ya los hago y ya los ejecuto y si funcionan, pero no he podido
> hacer que se ejecuten desde Xailer.
>
> ¿Como se hace?
>
> Gracias...

TMySQLDataSource, como ejecutar procedimiento almacenados

Publicado: Mar Sep 08, 2009 9:57 pm
por Manu
Se me pasó:
:Execute( "CALL TuProcedure( param1, param2, ... )" )
Si los parametros no son siempre los mismo podrí­a construir una cade na así­:
:Execute( "CALL TuProcedure( "+ cParam1 + "," + cParam2 + "," + ... )" )
Saludos
Manu Expósito
Manu escribió:
> :Execute( "CALL TuProcedure( param1, param2, ... ) )
>
> Deberí­a funcionar así­ :-)
>
> Rodolfo escribió:
>> Necesito ejecutar procedimientos almacenados de MySQL.
>>
>> En MySql, ya los hago y ya los ejecuto y si funcionan, pero no he podido
>> hacer que se ejecuten desde Xailer.
>>
>> ¿Como se hace?
>>
>> Gracias...

TMySQLDataSource, como ejecutar procedimiento almacenados

Publicado: Mar Sep 08, 2009 10:10 pm
por Rodolfo
Uso este codigo:
cArma := "Call Proveedores('" + AppData:cEmpresa + "', '" + iif(::orClave:lChecked,"C","N")
+ "')"
aProveedores := AppData:Origen1:Execute(cArma)
y me da este error:
TMYSQLDATASOURCE:QUERYARRAY(111)
Error MySql/-1 PROCEDURE pruebamysql.proveedores can't return a result set
in the given context:
TMYSQLDATASOURCE:QUERYARRAY
Argumentos:([1]=Tipo: C Valor: Call proveedores('0001','C'))
Saludos, Gracias
Manu <xmessoft@gmail.com> wrote:
>:Execute( "CALL TuProcedure( param1, param2, ... ) )
>
>Debería funcionar así :-)
>
>Rodolfo escribió:
>> Necesito ejecutar procedimientos almacenados de MySQL.
>>
>> En MySql, ya los hago y ya los ejecuto y si funcionan, pero no he podido
>> hacer que se ejecuten desde Xailer.
>>
>> ¿Como se hace?
>>
>> Gracias...

TMySQLDataSource, como ejecutar procedimiento almacenados

Publicado: Mar Sep 08, 2009 10:24 pm
por Manu
Creo que es porque tu procedimiento devuelve algún valor y no sabe donde
meterlo.
Tal vez funcione crear un dataset tipo query para recoger el valor.
Tendras que hacer un Create y luego un Open en vez de Execute
Saludos
Manu
Rodolfo escribió:
> Uso este codigo:
>
> cArma := "Call Proveedores('" + AppData:cEmpresa + "', '" + iif(::orClave:lChecked,"C","N")
> + "')"
>
> aProveedores := AppData:Origen1:Execute(cArma)
>
> y me da este error:
>
> TMYSQLDATASOURCE:QUERYARRAY(111)
> Error MySql/-1 PROCEDURE pruebamysql.proveedores can't return a result set
> in the given context:
> TMYSQLDATASOURCE:QUERYARRAY
> Argumentos:([1]=Tipo: C Valor: Call proveedores('0001','C'))
>
> Saludos, Gracias
>
> Manu <xmessoft@gmail.com> wrote:
>> :Execute( "CALL TuProcedure( param1, param2, ... ) )
>>
>> Deberí­a funcionar así­ :-)
>>
>> Rodolfo escribió:
>>> Necesito ejecutar procedimientos almacenados de MySQL.
>>>
>>> En MySql, ya los hago y ya los ejecuto y si funcionan, pero no he podido
>>> hacer que se ejecuten desde Xailer.
>>>
>>> ¿Como se hace?
>>>
>>> Gracias...
>